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

Theorem scott0 7440
Description: Scott's trick collects all sets that have a certain property and are of 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 2721 . . 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 3382 . . 3  |-  { x  e.  (/)  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/)
31, 2syl6eq 2301 . 2  |-  ( A  =  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/) )
4 n0 3371 . . . . . . . . 9  |-  ( A  =/=  (/)  <->  E. x  x  e.  A )
5 nfre1 2561 . . . . . . . . . 10  |-  F/ x E. x  e.  A  ( rank `  x )  =  ( rank `  x
)
6 eqid 2253 . . . . . . . . . . 11  |-  ( rank `  x )  =  (
rank `  x )
7 ra4e 2566 . . . . . . . . . . 11  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
86, 7mpan2 655 . . . . . . . . . 10  |-  ( x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
95, 8exlimi 1781 . . . . . . . . 9  |-  ( E. x  x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  ( rank `  x
) )
104, 9sylbi 189 . . . . . . . 8  |-  ( A  =/=  (/)  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
11 fvex 5391 . . . . . . . . . . . 12  |-  ( rank `  x )  e.  _V
12 eqeq1 2259 . . . . . . . . . . . . 13  |-  ( y  =  ( rank `  x
)  ->  ( y  =  ( rank `  x
)  <->  ( rank `  x
)  =  ( rank `  x ) ) )
1312anbi2d 687 . . . . . . . . . . . 12  |-  ( y  =  ( rank `  x
)  ->  ( (
x  e.  A  /\  y  =  ( rank `  x ) )  <->  ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) ) )
1411, 13cla4ev 2812 . . . . . . . . . . 11  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. y
( x  e.  A  /\  y  =  ( rank `  x ) ) )
1514eximi 1574 . . . . . . . . . 10  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
16 excom 1765 . . . . . . . . . 10  |-  ( E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) )  <->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
1715, 16sylibr 205 . . . . . . . . 9  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
18 df-rex 2514 . . . . . . . . 9  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) )
19 df-rex 2514 . . . . . . . . . 10  |-  ( E. x  e.  A  y  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
2019exbii 1580 . . . . . . . . 9  |-  ( E. y E. x  e.  A  y  =  (
rank `  x )  <->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) ) )
2117, 18, 203imtr4i 259 . . . . . . . 8  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
2210, 21syl 17 . . . . . . 7  |-  ( A  =/=  (/)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
23 abn0 3380 . . . . . . 7  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  <->  E. y E. x  e.  A  y  =  ( rank `  x )
)
2422, 23sylibr 205 . . . . . 6  |-  ( A  =/=  (/)  ->  { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/) )
2511dfiin2 3836 . . . . . . 7  |-  |^|_ x  e.  A  ( rank `  x )  =  |^| { y  |  E. x  e.  A  y  =  ( rank `  x ) }
26 rankon 7351 . . . . . . . . . . 11  |-  ( rank `  x )  e.  On
27 eleq1 2313 . . . . . . . . . . 11  |-  ( y  =  ( rank `  x
)  ->  ( y  e.  On  <->  ( rank `  x
)  e.  On ) )
2826, 27mpbiri 226 . . . . . . . . . 10  |-  ( y  =  ( rank `  x
)  ->  y  e.  On )
2928rexlimivw 2625 . . . . . . . . 9  |-  ( E. x  e.  A  y  =  ( rank `  x
)  ->  y  e.  On )
3029abssi 3169 . . . . . . . 8  |-  { y  |  E. x  e.  A  y  =  (
rank `  x ) }  C_  On
31 onint 4477 . . . . . . . 8  |-  ( ( { 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 654 . . . . . . 7  |-  ( { 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 2337 . . . . . 6  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  ->  |^|_ x  e.  A  ( rank `  x
)  e.  { y  |  E. x  e.  A  y  =  (
rank `  x ) } )
3424, 33syl 17 . . . . 5  |-  ( A  =/=  (/)  ->  |^|_ x  e.  A  ( rank `  x
)  e.  { y  |  E. x  e.  A  y  =  (
rank `  x ) } )
35 nfii1 3832 . . . . . . . . 9  |-  F/_ x |^|_ x  e.  A  (
rank `  x )
3635nfeq2 2396 . . . . . . . 8  |-  F/ x  y  =  |^|_ x  e.  A  ( rank `  x
)
37 eqeq1 2259 . . . . . . . 8  |-  ( y  =  |^|_ x  e.  A  ( rank `  x )  ->  ( y  =  (
rank `  x )  <->  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) ) )
3836, 37rexbid 2526 . . . . . . 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 )
) )
3938elabg 2852 . . . . . 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
) ) )
4039ibi 234 . . . . 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
) )
41 ssid 3118 . . . . . . . . . 10  |-  ( rank `  y )  C_  ( rank `  y )
42 fveq2 5377 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( rank `  x )  =  ( rank `  y
) )
4342sseq1d 3126 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  y
)  C_  ( rank `  y ) ) )
4443rcla4ev 2821 . . . . . . . . . 10  |-  ( ( y  e.  A  /\  ( rank `  y )  C_  ( rank `  y
) )  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
4541, 44mpan2 655 . . . . . . . . 9  |-  ( y  e.  A  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
46 iinss 3851 . . . . . . . . 9  |-  ( E. x  e.  A  (
rank `  x )  C_  ( rank `  y
)  ->  |^|_ x  e.  A  ( rank `  x
)  C_  ( rank `  y ) )
4745, 46syl 17 . . . . . . . 8  |-  ( y  e.  A  ->  |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
48 sseq1 3120 . . . . . . . 8  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  x
)  C_  ( rank `  y ) ) )
4947, 48syl5ib 212 . . . . . . 7  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( y  e.  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )
5049ralrimiv 2587 . . . . . 6  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) )
5150reximi 2612 . . . . 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
) )
5234, 40, 513syl 20 . . . 4  |-  ( A  =/=  (/)  ->  E. x  e.  A  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) )
53 rabn0 3381 . . . 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 ) )
5452, 53sylibr 205 . . 3  |-  ( A  =/=  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =/=  (/) )
5554necon4i 2472 . 2  |-  ( { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/)  ->  A  =  (/) )
563, 55impbii 182 1  |-  ( A  =  (/)  <->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/) )
Colors of variables: wff set class
Syntax hints:    <-> wb 178    /\ wa 360   E.wex 1537    = wceq 1619    e. wcel 1621   {cab 2239    =/= wne 2412   A.wral 2509   E.wrex 2510   {crab 2512    C_ wss 3078   (/)c0 3362   |^|cint 3760   |^|_ciin 3804   Oncon0 4285   ` cfv 4592   rankcrnk 7319
This theorem is referenced by:  scott0s  7442  cplem1  7443  karden  7449
This theorem was proved from axioms:  ax-1 7  ax-2 8  ax-3 9  ax-mp 10  ax-5 1533  ax-6 1534  ax-7 1535  ax-gen 1536  ax-8 1623  ax-11 1624  ax-13 1625  ax-14 1626  ax-17 1628  ax-12o 1664  ax-10 1678  ax-9 1684  ax-4 1692  ax-16 1926  ax-ext 2234  ax-sep 4038  ax-nul 4046  ax-pow 4082  ax-pr 4108  ax-un 4403
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 940  df-3an 941  df-tru 1315  df-ex 1538  df-nf 1540  df-sb 1883  df-eu 2118  df-mo 2119  df-clab 2240  df-cleq 2246  df-clel 2249  df-nfc 2374  df-ne 2414  df-ral 2513  df-rex 2514  df-reu 2515  df-rab 2516  df-v 2729  df-sbc 2922  df-csb 3010  df-dif 3081  df-un 3083  df-in 3085  df-ss 3089  df-pss 3091  df-nul 3363  df-if 3471  df-pw 3532  df-sn 3550  df-pr 3551  df-tp 3552  df-op 3553  df-uni 3728  df-int 3761  df-iun 3805  df-iin 3806  df-br 3921  df-opab 3975  df-mpt 3976  df-tr 4011  df-eprel 4198  df-id 4202  df-po 4207  df-so 4208  df-fr 4245  df-we 4247  df-ord 4288  df-on 4289  df-lim 4290  df-suc 4291  df-om 4548  df-xp 4594  df-rel 4595  df-cnv 4596  df-co 4597  df-dm 4598  df-rn 4599  df-res 4600  df-ima 4601  df-fun 4602  df-fn 4603  df-f 4604  df-f1 4605  df-fo 4606  df-f1o 4607  df-fv 4608  df-recs 6274  df-rdg 6309  df-r1 7320  df-rank 7321
  Copyright terms: Public domain W3C validator