MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  scott0 Structured version   Visualization version   Unicode version

Theorem scott0 8357
Description: Scott's trick collects all sets that have a certain property and are of the smallest possible rank. This theorem shows that the resulting collection, expressed as in Equation 9.3 of [Jech] p. 72, contains at least one representative with the property, if there is one. In other words, the collection is empty iff no set has the property (i.e.  A is empty). (Contributed by NM, 15-Oct-2003.)
Assertion
Ref Expression
scott0  |-  ( A  =  (/)  <->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/) )
Distinct variable group:    x, y, A

Proof of Theorem scott0
StepHypRef Expression
1 rabeq 3038 . . 3  |-  ( A  =  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  { x  e.  (/)  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) } )
2 rab0 3753 . . 3  |-  { x  e.  (/)  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/)
31, 2syl6eq 2501 . 2  |-  ( A  =  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/) )
4 n0 3741 . . . . . . . 8  |-  ( A  =/=  (/)  <->  E. x  x  e.  A )
5 nfre1 2848 . . . . . . . . 9  |-  F/ x E. x  e.  A  ( rank `  x )  =  ( rank `  x
)
6 eqid 2451 . . . . . . . . . 10  |-  ( rank `  x )  =  (
rank `  x )
7 rspe 2845 . . . . . . . . . 10  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
86, 7mpan2 677 . . . . . . . . 9  |-  ( x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
95, 8exlimi 1995 . . . . . . . 8  |-  ( E. x  x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  ( rank `  x
) )
104, 9sylbi 199 . . . . . . 7  |-  ( A  =/=  (/)  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
11 fvex 5875 . . . . . . . . . . 11  |-  ( rank `  x )  e.  _V
12 eqeq1 2455 . . . . . . . . . . . 12  |-  ( y  =  ( rank `  x
)  ->  ( y  =  ( rank `  x
)  <->  ( rank `  x
)  =  ( rank `  x ) ) )
1312anbi2d 710 . . . . . . . . . . 11  |-  ( y  =  ( rank `  x
)  ->  ( (
x  e.  A  /\  y  =  ( rank `  x ) )  <->  ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) ) )
1411, 13spcev 3141 . . . . . . . . . 10  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. y
( x  e.  A  /\  y  =  ( rank `  x ) ) )
1514eximi 1707 . . . . . . . . 9  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
16 excom 1927 . . . . . . . . 9  |-  ( E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) )  <->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
1715, 16sylibr 216 . . . . . . . 8  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
18 df-rex 2743 . . . . . . . 8  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) )
19 df-rex 2743 . . . . . . . . 9  |-  ( E. x  e.  A  y  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
2019exbii 1718 . . . . . . . 8  |-  ( E. y E. x  e.  A  y  =  (
rank `  x )  <->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) ) )
2117, 18, 203imtr4i 270 . . . . . . 7  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
2210, 21syl 17 . . . . . 6  |-  ( A  =/=  (/)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
23 abn0 3751 . . . . . 6  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  <->  E. y E. x  e.  A  y  =  ( rank `  x )
)
2422, 23sylibr 216 . . . . 5  |-  ( A  =/=  (/)  ->  { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/) )
2511dfiin2 4313 . . . . . 6  |-  |^|_ x  e.  A  ( rank `  x )  =  |^| { y  |  E. x  e.  A  y  =  ( rank `  x ) }
26 rankon 8266 . . . . . . . . . 10  |-  ( rank `  x )  e.  On
27 eleq1 2517 . . . . . . . . . 10  |-  ( y  =  ( rank `  x
)  ->  ( y  e.  On  <->  ( rank `  x
)  e.  On ) )
2826, 27mpbiri 237 . . . . . . . . 9  |-  ( y  =  ( rank `  x
)  ->  y  e.  On )
2928rexlimivw 2876 . . . . . . . 8  |-  ( E. x  e.  A  y  =  ( rank `  x
)  ->  y  e.  On )
3029abssi 3504 . . . . . . 7  |-  { y  |  E. x  e.  A  y  =  (
rank `  x ) }  C_  On
31 onint 6622 . . . . . . 7  |-  ( ( { y  |  E. x  e.  A  y  =  ( rank `  x
) }  C_  On  /\ 
{ y  |  E. x  e.  A  y  =  ( rank `  x
) }  =/=  (/) )  ->  |^| { y  |  E. x  e.  A  y  =  ( rank `  x
) }  e.  {
y  |  E. x  e.  A  y  =  ( rank `  x ) } )
3230, 31mpan 676 . . . . . 6  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  ->  |^| { y  |  E. x  e.  A  y  =  (
rank `  x ) }  e.  { y  |  E. x  e.  A  y  =  ( rank `  x ) } )
3325, 32syl5eqel 2533 . . . . 5  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  ->  |^|_ x  e.  A  ( rank `  x
)  e.  { y  |  E. x  e.  A  y  =  (
rank `  x ) } )
34 nfii1 4309 . . . . . . . . 9  |-  F/_ x |^|_ x  e.  A  (
rank `  x )
3534nfeq2 2607 . . . . . . . 8  |-  F/ x  y  =  |^|_ x  e.  A  ( rank `  x
)
36 eqeq1 2455 . . . . . . . 8  |-  ( y  =  |^|_ x  e.  A  ( rank `  x )  ->  ( y  =  (
rank `  x )  <->  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) ) )
3735, 36rexbid 2900 . . . . . . 7  |-  ( y  =  |^|_ x  e.  A  ( rank `  x )  ->  ( E. x  e.  A  y  =  (
rank `  x )  <->  E. x  e.  A  |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )
) )
3837elabg 3186 . . . . . 6  |-  ( |^|_ x  e.  A  ( rank `  x )  e.  {
y  |  E. x  e.  A  y  =  ( rank `  x ) }  ->  ( |^|_ x  e.  A  ( rank `  x )  e.  {
y  |  E. x  e.  A  y  =  ( rank `  x ) } 
<->  E. x  e.  A  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) ) )
3938ibi 245 . . . . 5  |-  ( |^|_ x  e.  A  ( rank `  x )  e.  {
y  |  E. x  e.  A  y  =  ( rank `  x ) }  ->  E. x  e.  A  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) )
40 ssid 3451 . . . . . . . . . 10  |-  ( rank `  y )  C_  ( rank `  y )
41 fveq2 5865 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( rank `  x )  =  ( rank `  y
) )
4241sseq1d 3459 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  y
)  C_  ( rank `  y ) ) )
4342rspcev 3150 . . . . . . . . . 10  |-  ( ( y  e.  A  /\  ( rank `  y )  C_  ( rank `  y
) )  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
4440, 43mpan2 677 . . . . . . . . 9  |-  ( y  e.  A  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
45 iinss 4329 . . . . . . . . 9  |-  ( E. x  e.  A  (
rank `  x )  C_  ( rank `  y
)  ->  |^|_ x  e.  A  ( rank `  x
)  C_  ( rank `  y ) )
4644, 45syl 17 . . . . . . . 8  |-  ( y  e.  A  ->  |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
47 sseq1 3453 . . . . . . . 8  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  x
)  C_  ( rank `  y ) ) )
4846, 47syl5ib 223 . . . . . . 7  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( y  e.  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )
4948ralrimiv 2800 . . . . . 6  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) )
5049reximi 2855 . . . . 5  |-  ( E. x  e.  A  |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  E. x  e.  A  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) )
5124, 33, 39, 504syl 19 . . . 4  |-  ( A  =/=  (/)  ->  E. x  e.  A  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) )
52 rabn0 3752 . . . 4  |-  ( { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =/=  (/)  <->  E. x  e.  A  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) )
5351, 52sylibr 216 . . 3  |-  ( A  =/=  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =/=  (/) )
5453necon4i 2659 . 2  |-  ( { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/)  ->  A  =  (/) )
553, 54impbii 191 1  |-  ( A  =  (/)  <->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/) )
Colors of variables: wff setvar class
Syntax hints:    <-> wb 188    /\ wa 371    = wceq 1444   E.wex 1663    e. wcel 1887   {cab 2437    =/= wne 2622   A.wral 2737   E.wrex 2738   {crab 2741    C_ wss 3404   (/)c0 3731   |^|cint 4234   |^|_ciin 4279   Oncon0 5423   ` cfv 5582   rankcrnk 8234
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1669  ax-4 1682  ax-5 1758  ax-6 1805  ax-7 1851  ax-8 1889  ax-9 1896  ax-10 1915  ax-11 1920  ax-12 1933  ax-13 2091  ax-ext 2431  ax-sep 4525  ax-nul 4534  ax-pow 4581  ax-pr 4639  ax-un 6583
This theorem depends on definitions:  df-bi 189  df-or 372  df-an 373  df-3or 986  df-3an 987  df-tru 1447  df-ex 1664  df-nf 1668  df-sb 1798  df-eu 2303  df-mo 2304  df-clab 2438  df-cleq 2444  df-clel 2447  df-nfc 2581  df-ne 2624  df-ral 2742  df-rex 2743  df-reu 2744  df-rab 2746  df-v 3047  df-sbc 3268  df-csb 3364  df-dif 3407  df-un 3409  df-in 3411  df-ss 3418  df-pss 3420  df-nul 3732  df-if 3882  df-pw 3953  df-sn 3969  df-pr 3971  df-tp 3973  df-op 3975  df-uni 4199  df-int 4235  df-iun 4280  df-iin 4281  df-br 4403  df-opab 4462  df-mpt 4463  df-tr 4498  df-eprel 4745  df-id 4749  df-po 4755  df-so 4756  df-fr 4793  df-we 4795  df-xp 4840  df-rel 4841  df-cnv 4842  df-co 4843  df-dm 4844  df-rn 4845  df-res 4846  df-ima 4847  df-pred 5380  df-ord 5426  df-on 5427  df-lim 5428  df-suc 5429  df-iota 5546  df-fun 5584  df-fn 5585  df-f 5586  df-f1 5587  df-fo 5588  df-f1o 5589  df-fv 5590  df-om 6693  df-wrecs 7028  df-recs 7090  df-rdg 7128  df-r1 8235  df-rank 8236
This theorem is referenced by:  scott0s  8359  cplem1  8360  karden  8366  scott0f  32412
  Copyright terms: Public domain W3C validator