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

Theorem karden 7775
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 8382). 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 7774 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 7099 . . . . . . 7  |-  A  ~~  A
3 breq1 4175 . . . . . . . 8  |-  ( w  =  A  ->  (
w  ~~  A  <->  A  ~~  A ) )
41, 3spcev 3003 . . . . . . 7  |-  ( A 
~~  A  ->  E. w  w  ~~  A )
52, 4ax-mp 8 . . . . . 6  |-  E. w  w  ~~  A
6 abn0 3606 . . . . . 6  |-  ( { w  |  w  ~~  A }  =/=  (/)  <->  E. w  w  ~~  A )
75, 6mpbir 201 . . . . 5  |-  { w  |  w  ~~  A }  =/=  (/)
8 scott0 7766 . . . . . 6  |-  ( { w  |  w  ~~  A }  =  (/)  <->  { z  e.  { w  |  w 
~~  A }  |  A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
) }  =  (/) )
98necon3bii 2599 . . . . 5  |-  ( { w  |  w  ~~  A }  =/=  (/)  <->  { z  e.  { w  |  w 
~~  A }  |  A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
) }  =/=  (/) )
107, 9mpbi 200 . . . 4  |-  { z  e.  { w  |  w  ~~  A }  |  A. y  e.  {
w  |  w  ~~  A }  ( rank `  z )  C_  ( rank `  y ) }  =/=  (/)
11 rabn0 3607 . . . 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 200 . . 3  |-  E. z  e.  { w  |  w 
~~  A } A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)
13 vex 2919 . . . . . . . 8  |-  z  e. 
_V
14 breq1 4175 . . . . . . . 8  |-  ( w  =  z  ->  (
w  ~~  A  <->  z  ~~  A ) )
1513, 14elab 3042 . . . . . . 7  |-  ( z  e.  { w  |  w  ~~  A }  <->  z 
~~  A )
16 breq1 4175 . . . . . . . 8  |-  ( w  =  y  ->  (
w  ~~  A  <->  y  ~~  A ) )
1716ralab 3055 . . . . . . 7  |-  ( A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)  <->  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )
1815, 17anbi12i 679 . . . . . 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 444 . . . . . . . . 9  |-  ( ( z  ~~  A  /\  A. y ( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) )  ->  z  ~~  A
)
2019a1i 11 . . . . . . . 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 2417 . . . . . . . . . . 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 2514 . . . . . . . . . . 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 244 . . . . . . . . . 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 4175 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
x  ~~  A  <->  z  ~~  A ) )
27 fveq2 5687 . . . . . . . . . . . . . . . 16  |-  ( x  =  z  ->  ( rank `  x )  =  ( rank `  z
) )
2827sseq1d 3335 . . . . . . . . . . . . . . 15  |-  ( x  =  z  ->  (
( rank `  x )  C_  ( rank `  y
)  <->  ( rank `  z
)  C_  ( rank `  y ) ) )
2928imbi2d 308 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  A  ->  ( rank `  z )  C_  ( rank `  y ) ) ) )
3029albidv 1632 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  ( A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  A  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) )
3126, 30anbi12d 692 . . . . . . . . . . . 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 4175 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
x  ~~  B  <->  z  ~~  B ) )
3328imbi2d 308 . . . . . . . . . . . . . 14  |-  ( x  =  z  ->  (
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  B  ->  ( rank `  z )  C_  ( rank `  y ) ) ) )
3433albidv 1632 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  ( A. y ( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) ) )
3532, 34anbi12d 692 . . . . . . . . . . . 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 313 . . . . . . . . . . 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 1963 . . . . . . . . . 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 188 . . . . . . . . 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 444 . . . . . . . . 9  |-  ( ( z  ~~  B  /\  A. y ( y  ~~  B  ->  ( rank `  z
)  C_  ( rank `  y ) ) )  ->  z  ~~  B
)
4038, 39syl6bi 220 . . . . . . . 8  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  z  ~~  B ) )
4120, 40jcad 520 . . . . . . 7  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  (
z  ~~  A  /\  z  ~~  B ) ) )
42 ensym 7115 . . . . . . . 8  |-  ( z 
~~  A  ->  A  ~~  z )
43 entr 7118 . . . . . . . 8  |-  ( ( A  ~~  z  /\  z  ~~  B )  ->  A  ~~  B )
4442, 43sylan 458 . . . . . . 7  |-  ( ( z  ~~  A  /\  z  ~~  B )  ->  A  ~~  B )
4541, 44syl6 31 . . . . . 6  |-  ( C  =  D  ->  (
( z  ~~  A  /\  A. y ( y 
~~  A  ->  ( rank `  z )  C_  ( rank `  y )
) )  ->  A  ~~  B ) )
4618, 45syl5bi 209 . . . . 5  |-  ( C  =  D  ->  (
( z  e.  {
w  |  w  ~~  A }  /\  A. y  e.  { w  |  w 
~~  A }  ( rank `  z )  C_  ( rank `  y )
)  ->  A  ~~  B ) )
4746exp3a 426 . . . 4  |-  ( C  =  D  ->  (
z  e.  { w  |  w  ~~  A }  ->  ( A. y  e. 
{ w  |  w 
~~  A }  ( rank `  z )  C_  ( rank `  y )  ->  A  ~~  B ) ) )
4847rexlimdv 2789 . . 3  |-  ( C  =  D  ->  ( E. z  e.  { w  |  w  ~~  A } A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
)  ->  A  ~~  B ) )
4912, 48mpi 17 . 2  |-  ( C  =  D  ->  A  ~~  B )
50 enen2 7207 . . . . 5  |-  ( A 
~~  B  ->  (
x  ~~  A  <->  x  ~~  B ) )
51 enen2 7207 . . . . . . 7  |-  ( A 
~~  B  ->  (
y  ~~  A  <->  y  ~~  B ) )
5251imbi1d 309 . . . . . 6  |-  ( A 
~~  B  ->  (
( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  ( y  ~~  B  ->  ( rank `  x )  C_  ( rank `  y ) ) ) )
5352albidv 1632 . . . . 5  |-  ( A 
~~  B  ->  ( A. y ( y  ~~  A  ->  ( rank `  x
)  C_  ( rank `  y ) )  <->  A. y
( y  ~~  B  ->  ( rank `  x
)  C_  ( rank `  y ) ) ) )
5450, 53anbi12d 692 . . . 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 2518 . . 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 2461 . 2  |-  ( A 
~~  B  ->  C  =  D )
5749, 56impbii 181 1  |-  ( C  =  D  <->  A  ~~  B )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359   A.wal 1546   E.wex 1547    = wceq 1649    e. wcel 1721   {cab 2390    =/= wne 2567   A.wral 2666   E.wrex 2667   {crab 2670   _Vcvv 2916    C_ wss 3280   (/)c0 3588   class class class wbr 4172   ` cfv 5413    ~~ cen 7065   rankcrnk 7645
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-ral 2671  df-rex 2672  df-reu 2673  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-iin 4056  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-recs 6592  df-rdg 6627  df-er 6864  df-en 7069  df-r1 7646  df-rank 7647
  Copyright terms: Public domain W3C validator