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

Theorem scott0 8358
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 3074 . . 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 3783 . . 3  |-  { x  e.  (/)  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/)
31, 2syl6eq 2479 . 2  |-  ( A  =  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =  (/) )
4 n0 3771 . . . . . . . 8  |-  ( A  =/=  (/)  <->  E. x  x  e.  A )
5 nfre1 2886 . . . . . . . . 9  |-  F/ x E. x  e.  A  ( rank `  x )  =  ( rank `  x
)
6 eqid 2422 . . . . . . . . . 10  |-  ( rank `  x )  =  (
rank `  x )
7 rspe 2883 . . . . . . . . . 10  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
86, 7mpan2 675 . . . . . . . . 9  |-  ( x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
95, 8exlimi 1968 . . . . . . . 8  |-  ( E. x  x  e.  A  ->  E. x  e.  A  ( rank `  x )  =  ( rank `  x
) )
104, 9sylbi 198 . . . . . . 7  |-  ( A  =/=  (/)  ->  E. x  e.  A  ( rank `  x )  =  (
rank `  x )
)
11 fvex 5887 . . . . . . . . . . 11  |-  ( rank `  x )  e.  _V
12 eqeq1 2426 . . . . . . . . . . . 12  |-  ( y  =  ( rank `  x
)  ->  ( y  =  ( rank `  x
)  <->  ( rank `  x
)  =  ( rank `  x ) ) )
1312anbi2d 708 . . . . . . . . . . 11  |-  ( y  =  ( rank `  x
)  ->  ( (
x  e.  A  /\  y  =  ( rank `  x ) )  <->  ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) ) )
1411, 13spcev 3173 . . . . . . . . . 10  |-  ( ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) )  ->  E. y
( x  e.  A  /\  y  =  ( rank `  x ) ) )
1514eximi 1702 . . . . . . . . 9  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
16 excom 1899 . . . . . . . . 9  |-  ( E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) )  <->  E. x E. y ( x  e.  A  /\  y  =  ( rank `  x
) ) )
1715, 16sylibr 215 . . . . . . . 8  |-  ( E. x ( x  e.  A  /\  ( rank `  x )  =  (
rank `  x )
)  ->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
18 df-rex 2781 . . . . . . . 8  |-  ( E. x  e.  A  (
rank `  x )  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  ( rank `  x )  =  ( rank `  x
) ) )
19 df-rex 2781 . . . . . . . . 9  |-  ( E. x  e.  A  y  =  ( rank `  x
)  <->  E. x ( x  e.  A  /\  y  =  ( rank `  x
) ) )
2019exbii 1712 . . . . . . . 8  |-  ( E. y E. x  e.  A  y  =  (
rank `  x )  <->  E. y E. x ( x  e.  A  /\  y  =  ( rank `  x ) ) )
2117, 18, 203imtr4i 269 . . . . . . 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 3781 . . . . . 6  |-  ( { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/)  <->  E. y E. x  e.  A  y  =  ( rank `  x )
)
2422, 23sylibr 215 . . . . 5  |-  ( A  =/=  (/)  ->  { y  |  E. x  e.  A  y  =  ( rank `  x ) }  =/=  (/) )
2511dfiin2 4331 . . . . . 6  |-  |^|_ x  e.  A  ( rank `  x )  =  |^| { y  |  E. x  e.  A  y  =  ( rank `  x ) }
26 rankon 8267 . . . . . . . . . 10  |-  ( rank `  x )  e.  On
27 eleq1 2494 . . . . . . . . . 10  |-  ( y  =  ( rank `  x
)  ->  ( y  e.  On  <->  ( rank `  x
)  e.  On ) )
2826, 27mpbiri 236 . . . . . . . . 9  |-  ( y  =  ( rank `  x
)  ->  y  e.  On )
2928rexlimivw 2914 . . . . . . . 8  |-  ( E. x  e.  A  y  =  ( rank `  x
)  ->  y  e.  On )
3029abssi 3536 . . . . . . 7  |-  { y  |  E. x  e.  A  y  =  (
rank `  x ) }  C_  On
31 onint 6632 . . . . . . 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 674 . . . . . 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 2514 . . . . 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 4327 . . . . . . . . 9  |-  F/_ x |^|_ x  e.  A  (
rank `  x )
3534nfeq2 2601 . . . . . . . 8  |-  F/ x  y  =  |^|_ x  e.  A  ( rank `  x
)
36 eqeq1 2426 . . . . . . . 8  |-  ( y  =  |^|_ x  e.  A  ( rank `  x )  ->  ( y  =  (
rank `  x )  <->  |^|_
x  e.  A  (
rank `  x )  =  ( rank `  x
) ) )
3735, 36rexbid 2938 . . . . . . 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 3219 . . . . . 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 244 . . . . 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 3483 . . . . . . . . . 10  |-  ( rank `  y )  C_  ( rank `  y )
41 fveq2 5877 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( rank `  x )  =  ( rank `  y
) )
4241sseq1d 3491 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  y
)  C_  ( rank `  y ) ) )
4342rspcev 3182 . . . . . . . . . 10  |-  ( ( y  e.  A  /\  ( rank `  y )  C_  ( rank `  y
) )  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
4440, 43mpan2 675 . . . . . . . . 9  |-  ( y  e.  A  ->  E. x  e.  A  ( rank `  x )  C_  ( rank `  y ) )
45 iinss 4347 . . . . . . . . 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 3485 . . . . . . . 8  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( |^|_ x  e.  A  ( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  x
)  C_  ( rank `  y ) ) )
4846, 47syl5ib 222 . . . . . . 7  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  ( y  e.  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )
4948ralrimiv 2837 . . . . . 6  |-  ( |^|_ x  e.  A  ( rank `  x )  =  (
rank `  x )  ->  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) )
5049reximi 2893 . . . . 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 3782 . . . 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 215 . . 3  |-  ( A  =/=  (/)  ->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y ) }  =/=  (/) )
5453necon4i 2668 . 2  |-  ( { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/)  ->  A  =  (/) )
553, 54impbii 190 1  |-  ( A  =  (/)  <->  { x  e.  A  |  A. y  e.  A  ( rank `  x )  C_  ( rank `  y
) }  =  (/) )
Colors of variables: wff setvar class
Syntax hints:    <-> wb 187    /\ wa 370    = wceq 1437   E.wex 1659    e. wcel 1868   {cab 2407    =/= wne 2618   A.wral 2775   E.wrex 2776   {crab 2779    C_ wss 3436   (/)c0 3761   |^|cint 4252   |^|_ciin 4297   Oncon0 5438   ` cfv 5597   rankcrnk 8235
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1839  ax-8 1870  ax-9 1872  ax-10 1887  ax-11 1892  ax-12 1905  ax-13 2053  ax-ext 2400  ax-sep 4543  ax-nul 4551  ax-pow 4598  ax-pr 4656  ax-un 6593
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2269  df-mo 2270  df-clab 2408  df-cleq 2414  df-clel 2417  df-nfc 2572  df-ne 2620  df-ral 2780  df-rex 2781  df-reu 2782  df-rab 2784  df-v 3083  df-sbc 3300  df-csb 3396  df-dif 3439  df-un 3441  df-in 3443  df-ss 3450  df-pss 3452  df-nul 3762  df-if 3910  df-pw 3981  df-sn 3997  df-pr 3999  df-tp 4001  df-op 4003  df-uni 4217  df-int 4253  df-iun 4298  df-iin 4299  df-br 4421  df-opab 4480  df-mpt 4481  df-tr 4516  df-eprel 4760  df-id 4764  df-po 4770  df-so 4771  df-fr 4808  df-we 4810  df-xp 4855  df-rel 4856  df-cnv 4857  df-co 4858  df-dm 4859  df-rn 4860  df-res 4861  df-ima 4862  df-pred 5395  df-ord 5441  df-on 5442  df-lim 5443  df-suc 5444  df-iota 5561  df-fun 5599  df-fn 5600  df-f 5601  df-f1 5602  df-fo 5603  df-f1o 5604  df-fv 5605  df-om 6703  df-wrecs 7032  df-recs 7094  df-rdg 7132  df-r1 8236  df-rank 8237
This theorem is referenced by:  scott0s  8360  cplem1  8361  karden  8367  scott0f  32325
  Copyright terms: Public domain W3C validator