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

Theorem karden 7581
Description: If we allow the Axiom of Regularity, we can avoid the Axiom of Choice by defining the cardinal number of a set as the set of all sets equinumerous to it and having the least possible rank. This theorem proves the equinumerosity relationship for this definition (compare carden 8189). The hypotheses correspond to the definition of kard of [Enderton] p. 222 (which we don't define separately since currently we do not use it elsewhere). This theorem along with kardex 7580 justify the definition of kard. The restriction to the least rank prevents the proper class that would result from  { x  |  x  ~~  A }. (Contributed by NM, 18-Dec-2003.)
Hypotheses
Ref Expression
karden.1  |-  A  e. 
_V
karden.2  |-  B  e. 
_V
karden.3  |-  C  =  { x  |  ( x  ~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) }
karden.4  |-  D  =  { x  |  ( x  ~~  B  /\  A. y ( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) }
Assertion
Ref Expression
karden  |-  ( C  =  D  <->  A  ~~  B )
Distinct variable groups:    x, y, A    x, B, y
Allowed substitution hints:    C( x, y)    D( x, y)

Proof of Theorem karden
Dummy variables  z  w are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 karden.1 . . . . . . . 8  |-  A  e. 
_V
21enref 6910 . . . . . . 7  |-  A  ~~  A
3 breq1 4042 . . . . . . . 8  |-  ( w  =  A  ->  (
w  ~~  A  <->  A  ~~  A ) )
41, 3spcev 2888 . . . . . . 7  |-  ( A 
~~  A  ->  E. w  w  ~~  A )
52, 4ax-mp 8 . . . . . 6  |-  E. w  w  ~~  A
6 abn0 3486 . . . . . 6  |-  ( { w  |  w  ~~  A }  =/=  (/)  <->  E. w  w  ~~  A )
75, 6mpbir 200 . . . . 5  |-  { w  |  w  ~~  A }  =/=  (/)
8 scott0 7572 . . . . . 6  |-  ( { w  |  w  ~~  A }  =  (/)  <->  { z  e.  { w  |  w 
~~  A }  |  A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
) }  =  (/) )
98necon3bii 2491 . . . . 5  |-  ( { w  |  w  ~~  A }  =/=  (/)  <->  { z  e.  { w  |  w 
~~  A }  |  A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
) }  =/=  (/) )
107, 9mpbi 199 . . . 4  |-  { z  e.  { w  |  w  ~~  A }  |  A. y  e.  {
w  |  w  ~~  A }  ( rank `  z )  C_  ( rank `  y ) }  =/=  (/)
11 rabn0 3487 . . . 4  |-  ( { z  e.  { w  |  w  ~~  A }  |  A. y  e.  {
w  |  w  ~~  A }  ( rank `  z )  C_  ( rank `  y ) }  =/=  (/)  <->  E. z  e.  {
w  |  w  ~~  A } A. y  e. 
{ w  |  w 
~~  A }  ( rank `  z )  C_  ( rank `  y )
)
1210, 11mpbi 199 . . 3  |-  E. z  e.  { w  |  w 
~~  A } A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)
13 vex 2804 . . . . . . . 8  |-  z  e. 
_V
14 breq1 4042 . . . . . . . 8  |-  ( w  =  z  ->  (
w  ~~  A  <->  z  ~~  A ) )
1513, 14elab 2927 . . . . . . 7  |-  ( z  e.  { w  |  w  ~~  A }  <->  z 
~~  A )
16 breq1 4042 . . . . . . . 8  |-  ( w  =  y  ->  (
w  ~~  A  <->  y  ~~  A ) )
1716ralab 2939 . . . . . . 7  |-  ( A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)  <->  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )
1815, 17anbi12i 678 . . . . . 6  |-  ( ( z  e.  { w  |  w  ~~  A }  /\  A. y  e.  {
w  |  w  ~~  A }  ( rank `  z )  C_  ( rank `  y ) )  <-> 
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) ) )
19 simpl 443 . . . . . . . . 9  |-  ( ( z  ~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) )  ->  z  ~~  A
)
2019a1i 10 . . . . . . . 8  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  z  ~~  A ) )
21 karden.3 . . . . . . . . . . . 12  |-  C  =  { x  |  ( x  ~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) }
22 karden.4 . . . . . . . . . . . 12  |-  D  =  { x  |  ( x  ~~  B  /\  A. y ( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) }
2321, 22eqeq12i 2309 . . . . . . . . . . 11  |-  ( C  =  D  <->  { x  |  ( x  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  x )  C_  ( rank `  y
) ) ) }  =  { x  |  ( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) ) } )
24 abbi 2406 . . . . . . . . . . 11  |-  ( A. x ( ( x 
~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )  <-> 
( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) ) )  <->  { x  |  ( x  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  x )  C_  ( rank `  y
) ) ) }  =  { x  |  ( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) ) } )
2523, 24bitr4i 243 . . . . . . . . . 10  |-  ( C  =  D  <->  A. x
( ( x  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  x )  C_  ( rank `  y
) ) )  <->  ( x  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) ) )
26 breq1 4042 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
x  ~~  A  <->  z  ~~  A ) )
27 fveq2 5541 . . . . . . . . . . . . . . . 16  |-  ( x  =  z  ->  ( rank `  x )  =  ( rank `  z
) )
2827sseq1d 3218 . . . . . . . . . . . . . . 15  |-  ( x  =  z  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  z
)  C_  ( rank `  y ) ) )
2928imbi2d 307 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  A  ->  ( rank `  z )  C_  ( rank `  y ) ) ) )
3029albidv 1615 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  ( A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) )
3126, 30anbi12d 691 . . . . . . . . . . . 12  |-  ( x  =  z  ->  (
( x  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  x )  C_  ( rank `  y )
) )  <->  ( z  ~~  A  /\  A. y
( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) ) )
32 breq1 4042 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
x  ~~  B  <->  z  ~~  B ) )
3328imbi2d 307 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  B  ->  ( rank `  z )  C_  ( rank `  y ) ) ) )
3433albidv 1615 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  ( A. y ( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) )
3532, 34anbi12d 691 . . . . . . . . . . . 12  |-  ( x  =  z  ->  (
( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) )  <->  ( z  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) ) )
3631, 35bibi12d 312 . . . . . . . . . . 11  |-  ( x  =  z  ->  (
( ( x  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  x )  C_  ( rank `  y
) ) )  <->  ( x  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) )  <->  ( ( z 
~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) )  <-> 
( z  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  z )  C_  ( rank `  y )
) ) ) ) )
3736spv 1951 . . . . . . . . . 10  |-  ( A. x ( ( x 
~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) ) )  <-> 
( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) ) )  -> 
( ( z  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  z )  C_  ( rank `  y
) ) )  <->  ( z  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) ) )
3825, 37sylbi 187 . . . . . . . . 9  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  <->  ( z  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) ) )
39 simpl 443 . . . . . . . . 9  |-  ( ( z  ~~  B  /\  A. y ( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) )  ->  z  ~~  B
)
4038, 39syl6bi 219 . . . . . . . 8  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  z  ~~  B ) )
4120, 40jcad 519 . . . . . . 7  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  (
z  ~~  A  /\  z  ~~  B ) ) )
42 ensym 6926 . . . . . . . 8  |-  ( z 
~~  A  ->  A  ~~  z )
43 entr 6929 . . . . . . . 8  |-  ( ( A  ~~  z  /\  z  ~~  B )  ->  A  ~~  B )
4442, 43sylan 457 . . . . . . 7  |-  ( ( z  ~~  A  /\  z  ~~  B )  ->  A  ~~  B )
4541, 44syl6 29 . . . . . 6  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  A  ~~  B ) )
4618, 45syl5bi 208 . . . . 5  |-  ( C  =  D  ->  (
( z  e.  {
w  |  w  ~~  A }  /\  A. y  e.  { w  |  w 
~~  A }  ( rank `  z )  C_  ( rank `  y )
)  ->  A  ~~  B ) )
4746exp3a 425 . . . 4  |-  ( C  =  D  ->  (
z  e.  { w  |  w  ~~  A }  ->  ( A. y  e. 
{ w  |  w 
~~  A }  ( rank `  z )  C_  ( rank `  y )  ->  A  ~~  B ) ) )
4847rexlimdv 2679 . . 3  |-  ( C  =  D  ->  ( E. z  e.  { w  |  w  ~~  A } A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)  ->  A  ~~  B ) )
4912, 48mpi 16 . 2  |-  ( C  =  D  ->  A  ~~  B )
50 enen2 7018 . . . . 5  |-  ( A 
~~  B  ->  (
x  ~~  A  <->  x  ~~  B ) )
51 enen2 7018 . . . . . . 7  |-  ( A 
~~  B  ->  (
y  ~~  A  <->  y  ~~  B ) )
5251imbi1d 308 . . . . . 6  |-  ( A 
~~  B  ->  (
( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  B  ->  ( rank `  x )  C_  ( rank `  y ) ) ) )
5352albidv 1615 . . . . 5  |-  ( A 
~~  B  ->  ( A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) )
5450, 53anbi12d 691 . . . 4  |-  ( A 
~~  B  ->  (
( x  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  x )  C_  ( rank `  y )
) )  <->  ( x  ~~  B  /\  A. y
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) ) )
5554abbidv 2410 . . 3  |-  ( A 
~~  B  ->  { x  |  ( x  ~~  A  /\  A. y ( y  ~~  A  -> 
( rank `  x )  C_  ( rank `  y
) ) ) }  =  { x  |  ( x  ~~  B  /\  A. y ( y 
~~  B  ->  ( rank `  x )  C_  ( rank `  y )
) ) } )
5655, 21, 223eqtr4g 2353 . 2  |-  ( A 
~~  B  ->  C  =  D )
5749, 56impbii 180 1  |-  ( C  =  D  <->  A  ~~  B )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358   A.wal 1530   E.wex 1531    = wceq 1632    e. wcel 1696   {cab 2282    =/= wne 2459   A.wral 2556   E.wrex 2557   {crab 2560   _Vcvv 2801    C_ wss 3165   (/)c0 3468   class class class wbr 4039   ` cfv 5271    ~~ cen 6876   rankcrnk 7451
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-ral 2561  df-rex 2562  df-reu 2563  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-pss 3181  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-tp 3661  df-op 3662  df-uni 3844  df-int 3879  df-iun 3923  df-iin 3924  df-br 4040  df-opab 4094  df-mpt 4095  df-tr 4130  df-eprel 4321  df-id 4325  df-po 4330  df-so 4331  df-fr 4368  df-we 4370  df-ord 4411  df-on 4412  df-lim 4413  df-suc 4414  df-om 4673  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-recs 6404  df-rdg 6439  df-er 6676  df-en 6880  df-r1 7452  df-rank 7453
  Copyright terms: Public domain W3C validator