This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 ). 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 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) (Revised by AV, 12-Jul-2022)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | karden.a | |- A e. _V |
|
| karden.c | |- C = { x | ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
||
| karden.d | |- D = { x | ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
||
| Assertion | karden | |- ( C = D <-> A ~~ B ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | karden.a | |- A e. _V |
|
| 2 | karden.c | |- C = { x | ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
|
| 3 | karden.d | |- D = { x | ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
|
| 4 | breq1 | |- ( w = A -> ( w ~~ A <-> A ~~ A ) ) |
|
| 5 | 1 | enref | |- A ~~ A |
| 6 | 1 4 5 | ceqsexv2d | |- E. w w ~~ A |
| 7 | abn0 | |- ( { w | w ~~ A } =/= (/) <-> E. w w ~~ A ) |
|
| 8 | 6 7 | mpbir | |- { w | w ~~ A } =/= (/) |
| 9 | scott0 | |- ( { w | w ~~ A } = (/) <-> { z e. { w | w ~~ A } | A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) } = (/) ) |
|
| 10 | 9 | necon3bii | |- ( { w | w ~~ A } =/= (/) <-> { z e. { w | w ~~ A } | A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) } =/= (/) ) |
| 11 | 8 10 | mpbi | |- { z e. { w | w ~~ A } | A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) } =/= (/) |
| 12 | rabn0 | |- ( { 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 ) ) |
|
| 13 | 11 12 | mpbi | |- E. z e. { w | w ~~ A } A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) |
| 14 | vex | |- z e. _V |
|
| 15 | breq1 | |- ( w = z -> ( w ~~ A <-> z ~~ A ) ) |
|
| 16 | 14 15 | elab | |- ( z e. { w | w ~~ A } <-> z ~~ A ) |
| 17 | breq1 | |- ( w = y -> ( w ~~ A <-> y ~~ A ) ) |
|
| 18 | 17 | ralab | |- ( A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) <-> A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) |
| 19 | 16 18 | anbi12i | |- ( ( 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 ) ) ) ) |
| 20 | simpl | |- ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) -> z ~~ A ) |
|
| 21 | 20 | a1i | |- ( C = D -> ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) -> z ~~ A ) ) |
| 22 | 2 3 | eqeq12i | |- ( 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 ) ) ) } ) |
| 23 | abbib | |- ( { x | ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) } = { x | ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) } <-> A. x ( ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) <-> ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) ) ) |
|
| 24 | 22 23 | bitri | |- ( 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 ) ) ) ) ) |
| 25 | breq1 | |- ( x = z -> ( x ~~ A <-> z ~~ A ) ) |
|
| 26 | fveq2 | |- ( x = z -> ( rank ` x ) = ( rank ` z ) ) |
|
| 27 | 26 | sseq1d | |- ( x = z -> ( ( rank ` x ) C_ ( rank ` y ) <-> ( rank ` z ) C_ ( rank ` y ) ) ) |
| 28 | 27 | imbi2d | |- ( x = z -> ( ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) <-> ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) ) |
| 29 | 28 | albidv | |- ( x = z -> ( A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) <-> A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) ) |
| 30 | 25 29 | anbi12d | |- ( x = z -> ( ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) <-> ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) ) ) |
| 31 | breq1 | |- ( x = z -> ( x ~~ B <-> z ~~ B ) ) |
|
| 32 | 27 | imbi2d | |- ( x = z -> ( ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) <-> ( y ~~ B -> ( rank ` z ) C_ ( rank ` y ) ) ) ) |
| 33 | 32 | albidv | |- ( x = z -> ( A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) <-> A. y ( y ~~ B -> ( rank ` z ) C_ ( rank ` y ) ) ) ) |
| 34 | 31 33 | anbi12d | |- ( x = z -> ( ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) <-> ( z ~~ B /\ A. y ( y ~~ B -> ( rank ` z ) C_ ( rank ` y ) ) ) ) ) |
| 35 | 30 34 | bibi12d | |- ( 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 ) ) ) ) ) ) |
| 36 | 35 | spvv | |- ( 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 ) ) ) ) ) |
| 37 | 24 36 | sylbi | |- ( C = D -> ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) <-> ( z ~~ B /\ A. y ( y ~~ B -> ( rank ` z ) C_ ( rank ` y ) ) ) ) ) |
| 38 | simpl | |- ( ( z ~~ B /\ A. y ( y ~~ B -> ( rank ` z ) C_ ( rank ` y ) ) ) -> z ~~ B ) |
|
| 39 | 37 38 | biimtrdi | |- ( C = D -> ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) -> z ~~ B ) ) |
| 40 | 21 39 | jcad | |- ( C = D -> ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) -> ( z ~~ A /\ z ~~ B ) ) ) |
| 41 | ensym | |- ( z ~~ A -> A ~~ z ) |
|
| 42 | entr | |- ( ( A ~~ z /\ z ~~ B ) -> A ~~ B ) |
|
| 43 | 41 42 | sylan | |- ( ( z ~~ A /\ z ~~ B ) -> A ~~ B ) |
| 44 | 40 43 | syl6 | |- ( C = D -> ( ( z ~~ A /\ A. y ( y ~~ A -> ( rank ` z ) C_ ( rank ` y ) ) ) -> A ~~ B ) ) |
| 45 | 19 44 | biimtrid | |- ( C = D -> ( ( z e. { w | w ~~ A } /\ A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) ) -> A ~~ B ) ) |
| 46 | 45 | expd | |- ( C = D -> ( z e. { w | w ~~ A } -> ( A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) -> A ~~ B ) ) ) |
| 47 | 46 | rexlimdv | |- ( C = D -> ( E. z e. { w | w ~~ A } A. y e. { w | w ~~ A } ( rank ` z ) C_ ( rank ` y ) -> A ~~ B ) ) |
| 48 | 13 47 | mpi | |- ( C = D -> A ~~ B ) |
| 49 | enen2 | |- ( A ~~ B -> ( x ~~ A <-> x ~~ B ) ) |
|
| 50 | enen2 | |- ( A ~~ B -> ( y ~~ A <-> y ~~ B ) ) |
|
| 51 | 50 | imbi1d | |- ( A ~~ B -> ( ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) <-> ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) ) |
| 52 | 51 | albidv | |- ( A ~~ B -> ( A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) <-> A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) ) |
| 53 | 49 52 | anbi12d | |- ( A ~~ B -> ( ( x ~~ A /\ A. y ( y ~~ A -> ( rank ` x ) C_ ( rank ` y ) ) ) <-> ( x ~~ B /\ A. y ( y ~~ B -> ( rank ` x ) C_ ( rank ` y ) ) ) ) ) |
| 54 | 53 | abbidv | |- ( 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 ) ) ) } ) |
| 55 | 54 2 3 | 3eqtr4g | |- ( A ~~ B -> C = D ) |
| 56 | 48 55 | impbii | |- ( C = D <-> A ~~ B ) |