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

Theorem karden 7803
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 8410). 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 7802 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 7126 . . . . . . 7  |-  A  ~~  A
3 breq1 4202 . . . . . . . 8  |-  ( w  =  A  ->  (
w  ~~  A  <->  A  ~~  A ) )
41, 3spcev 3030 . . . . . . 7  |-  ( A 
~~  A  ->  E. w  w  ~~  A )
52, 4ax-mp 8 . . . . . 6  |-  E. w  w  ~~  A
6 abn0 3633 . . . . . 6  |-  ( { w  |  w  ~~  A }  =/=  (/)  <->  E. w  w  ~~  A )
75, 6mpbir 201 . . . . 5  |-  { w  |  w  ~~  A }  =/=  (/)
8 scott0 7794 . . . . . 6  |-  ( { w  |  w  ~~  A }  =  (/)  <->  { z  e.  { w  |  w 
~~  A }  |  A. y  e.  { w  |  w  ~~  A } 
( rank `  z )  C_  ( rank `  y
) }  =  (/) )
98necon3bii 2625 . . . . 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 3634 . . . 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 2946 . . . . . . . 8  |-  z  e. 
_V
14 breq1 4202 . . . . . . . 8  |-  ( w  =  z  ->  (
w  ~~  A  <->  z  ~~  A ) )
1513, 14elab 3069 . . . . . . 7  |-  ( z  e.  { w  |  w  ~~  A }  <->  z 
~~  A )
16 breq1 4202 . . . . . . . 8  |-  ( w  =  y  ->  (
w  ~~  A  <->  y  ~~  A ) )
1716ralab 3082 . . . . . . 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 2443 . . . . . . . . . . 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 2540 . . . . . . . . . . 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 4202 . . . . . . . . . . . . 13  |-  ( x  =  z  ->  (
x  ~~  A  <->  z  ~~  A ) )
27 fveq2 5714 . . . . . . . . . . . . . . . 16  |-  ( x  =  z  ->  ( rank `  x )  =  ( rank `  z
) )
2827sseq1d 3362 . . . . . . . . . . . . . . 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 1635 . . . . . . . . . . . . 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 4202 . . . . . . . . . . . . 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 1635 . . . . . . . . . . . . 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 1965 . . . . . . . . . 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 7142 . . . . . . . 8  |-  ( z 
~~  A  ->  A  ~~  z )
43 entr 7145 . . . . . . . 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 2816 . . 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 7234 . . . . 5  |-  ( A 
~~  B  ->  (
x  ~~  A  <->  x  ~~  B ) )
51 enen2 7234 . . . . . . 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 1635 . . . . 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 2544 . . 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 2487 . 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 1549   E.wex 1550    = wceq 1652    e. wcel 1725   {cab 2416    =/= wne 2593   A.wral 2692   E.wrex 2693   {crab 2696   _Vcvv 2943    C_ wss 3307   (/)c0 3615   class class class wbr 4199   ` cfv 5440    ~~ cen 7092   rankcrnk 7673
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-er 6891  df-en 7096  df-r1 7674  df-rank 7675
  Copyright terms: Public domain W3C validator