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

Theorem scott0 7794
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 2937 . . 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 3635 . . 3  |-  { x  e.  (/)  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/)
31, 2syl6eq 2478 . 2  |-  ( A  =  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/) )
4 n0 3624 . . . . . . . . 9  |-  ( A  =/=  (/)  <->  E. x  x  e.  A )
5 nfre1 2749 . . . . . . . . . 10  |-  F/ x E. x  e.  A  ( rank `  x )  =  ( rank `  x
)
6 eqid 2430 . . . . . . . . . . 11  |-  ( rank `  x )  =  (
rank `  x )
7 rspe 2754 . . . . . . . . . . 11  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
86, 7mpan2 653 . . . . . . . . . 10  |-  ( x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
95, 8exlimi 1821 . . . . . . . . 9  |-  ( E. x  x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  ( rank `  x
) )
104, 9sylbi 188 . . . . . . . 8  |-  ( A  =/=  (/)  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
11 fvex 5728 . . . . . . . . . . . 12  |-  ( rank `  x )  e.  _V
12 eqeq1 2436 . . . . . . . . . . . . 13  |-  ( y  =  ( rank `  x
)  ->  ( y  =  ( rank `  x
)  <->  ( rank `  x
)  =  ( rank `  x ) ) )
1312anbi2d 685 . . . . . . . . . . . 12  |-  ( y  =  ( rank `  x
)  ->  ( (
x  e.  A  /\  y  =  ( rank `  x ) )  <->  ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) ) )
1411, 13spcev 3030 . . . . . . . . . . 11  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. y
( x  e.  A  /\  y  =  ( rank `  x ) ) )
1514eximi 1585 . . . . . . . . . 10  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
16 excom 1756 . . . . . . . . . 10  |-  ( E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) )  <->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
1715, 16sylibr 204 . . . . . . . . 9  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
18 df-rex 2698 . . . . . . . . 9  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) )
19 df-rex 2698 . . . . . . . . . 10  |-  ( E. x  e.  A  y  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
2019exbii 1592 . . . . . . . . 9  |-  ( E. y E. x  e.  A  y  =  (
rank `  x )  <->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) ) )
2117, 18, 203imtr4i 258 . . . . . . . 8  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
2210, 21syl 16 . . . . . . 7  |-  ( A  =/=  (/)  ->  E. y E. x  e.  A  y  =  ( rank `  x ) )
23 abn0 3633 . . . . . . 7  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  <->  E. y E. x  e.  A  y  =  ( rank `  x )
)
2422, 23sylibr 204 . . . . . 6  |-  ( A  =/=  (/)  ->  { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/) )
2511dfiin2 4113 . . . . . . 7  |-  |^|_ x  e.  A  ( rank `  x )  =  |^| { y  |  E. x  e.  A  y  =  ( rank `  x ) }
26 rankon 7705 . . . . . . . . . . 11  |-  ( rank `  x )  e.  On
27 eleq1 2490 . . . . . . . . . . 11  |-  ( y  =  ( rank `  x
)  ->  ( y  e.  On  <->  ( rank `  x
)  e.  On ) )
2826, 27mpbiri 225 . . . . . . . . . 10  |-  ( y  =  ( rank `  x
)  ->  y  e.  On )
2928rexlimivw 2813 . . . . . . . . 9  |-  ( E. x  e.  A  y  =  ( rank `  x
)  ->  y  e.  On )
3029abssi 3405 . . . . . . . 8  |-  { y  |  E. x  e.  A  y  =  (
rank `  x ) }  C_  On
31 onint 4761 . . . . . . . 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 652 . . . . . . 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 2514 . . . . . 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 16 . . . . 5  |-  ( A  =/=  (/)  ->  |^|_ x  e.  A  ( rank `  x
)  e.  { y  |  E. x  e.  A  y  =  (
rank `  x ) } )
35 nfii1 4109 . . . . . . . . 9  |-  F/_ x |^|_ x  e.  A  (
rank `  x )
3635nfeq2 2577 . . . . . . . 8  |-  F/ x  y  =  |^|_ x  e.  A  ( rank `  x
)
37 eqeq1 2436 . . . . . . . 8  |-  ( y  =  |^|_ x  e.  A  ( rank `  x )  ->  ( y  =  (
rank `  x )  <->  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) ) )
3836, 37rexbid 2711 . . . . . . 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 3070 . . . . . 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 233 . . . . 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 3354 . . . . . . . . . 10  |-  ( rank `  y )  C_  ( rank `  y )
42 fveq2 5714 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( rank `  x )  =  ( rank `  y
) )
4342sseq1d 3362 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  y
)  C_  ( rank `  y ) ) )
4443rspcev 3039 . . . . . . . . . 10  |-  ( ( y  e.  A  /\  ( rank `  y )  C_  ( rank `  y
) )  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
4541, 44mpan2 653 . . . . . . . . 9  |-  ( y  e.  A  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
46 iinss 4129 . . . . . . . . 9  |-  ( E. x  e.  A  (
rank `  x )  C_  ( rank `  y
)  ->  |^|_ x  e.  A  ( rank `  x
)  C_  ( rank `  y ) )
4745, 46syl 16 . . . . . . . 8  |-  ( y  e.  A  ->  |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
48 sseq1 3356 . . . . . . . 8  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  x
)  C_  ( rank `  y ) ) )
4947, 48syl5ib 211 . . . . . . 7  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( y  e.  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )
5049ralrimiv 2775 . . . . . 6  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) )
5150reximi 2800 . . . . 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 19 . . . 4  |-  ( A  =/=  (/)  ->  E. x  e.  A  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) )
53 rabn0 3634 . . . 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 204 . . 3  |-  ( A  =/=  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =/=  (/) )
5554necon4i 2653 . 2  |-  ( { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/)  ->  A  =  (/) )
563, 55impbii 181 1  |-  ( A  =  (/)  <->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/) )
Colors of variables: wff set class
Syntax hints:    <-> wb 177    /\ wa 359   E.wex 1550    = wceq 1652    e. wcel 1725   {cab 2416    =/= wne 2593   A.wral 2692   E.wrex 2693   {crab 2696    C_ wss 3307   (/)c0 3615   |^|cint 4037   |^|_ciin 4081   Oncon0 4568   ` cfv 5440   rankcrnk 7673
This theorem is referenced by:  scott0s  7796  cplem1  7797  karden  7803
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2411  ax-sep 4317  ax-nul 4325  ax-pow 4364  ax-pr 4390  ax-un 4687
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2417  df-cleq 2423  df-clel 2426  df-nfc 2555  df-ne 2595  df-ral 2697  df-rex 2698  df-reu 2699  df-rab 2701  df-v 2945  df-sbc 3149  df-csb 3239  df-dif 3310  df-un 3312  df-in 3314  df-ss 3321  df-pss 3323  df-nul 3616  df-if 3727  df-pw 3788  df-sn 3807  df-pr 3808  df-tp 3809  df-op 3810  df-uni 4003  df-int 4038  df-iun 4082  df-iin 4083  df-br 4200  df-opab 4254  df-mpt 4255  df-tr 4290  df-eprel 4481  df-id 4485  df-po 4490  df-so 4491  df-fr 4528  df-we 4530  df-ord 4571  df-on 4572  df-lim 4573  df-suc 4574  df-om 4832  df-xp 4870  df-rel 4871  df-cnv 4872  df-co 4873  df-dm 4874  df-rn 4875  df-res 4876  df-ima 4877  df-iota 5404  df-fun 5442  df-fn 5443  df-f 5444  df-f1 5445  df-fo 5446  df-f1o 5447  df-fv 5448  df-recs 6619  df-rdg 6654  df-r1 7674  df-rank 7675
  Copyright terms: Public domain W3C validator