HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem nneneq 3408
Description: Two equinumerous natural numbers are equal. Proposition 10.20 of [TakeutiZaring] p. 90 and its converse. Also compare Corollary 6E of [Enderton] p. 136.
Assertion
Ref Expression
nneneq |- ((A e. om /\ B e. om) -> (A ~~ B <-> A = B))

Proof of Theorem nneneq
StepHypRef Expression
1 breq1 2065 . . . . . . 7 |- (x = (/) -> (x ~~ z <-> (/) ~~ z))
2 cleq1 1107 . . . . . . 7 |- (x = (/) -> (x = z <-> (/) = z))
31, 2imbi12d 474 . . . . . 6 |- (x = (/) -> ((x ~~ z -> x = z) <-> ((/) ~~ z -> (/) = z)))
43biraldv 1219 . . . . 5 |- (x = (/) -> (A.z e. om (x ~~ z -> x = z) <-> A.z e. om ((/) ~~ z -> (/) = z)))
5 breq1 2065 . . . . . . 7 |- (x = y -> (x ~~ z <-> y ~~ z))
6 cleq1 1107 . . . . . . 7 |- (x = y -> (x = z <-> y = z))
75, 6imbi12d 474 . . . . . 6 |- (x = y -> ((x ~~ z -> x = z) <-> (y ~~ z -> y = z)))
87biraldv 1219 . . . . 5 |- (x = y -> (A.z e. om (x ~~ z -> x = z) <-> A.z e. om (y ~~ z -> y = z)))
9 breq1 2065 . . . . . . 7 |- (x = suc y -> (x ~~ z <-> suc y ~~ z))
10 cleq1 1107 . . . . . . 7 |- (x = suc y -> (x = z <-> suc y = z))
119, 10imbi12d 474 . . . . . 6 |- (x = suc y -> ((x ~~ z -> x = z) <-> (suc y ~~ z -> suc y = z)))
1211biraldv 1219 . . . . 5 |- (x = suc y -> (A.z e. om (x ~~ z -> x = z) <-> A.z e. om (suc y ~~ z -> suc y = z)))
13 breq1 2065 . . . . . . 7 |- (x = A -> (x ~~ z <-> A ~~ z))
14 cleq1 1107 . . . . . . 7 |- (x = A -> (x = z <-> A = z))
1513, 14imbi12d 474 . . . . . 6 |- (x = A -> ((x ~~ z -> x = z) <-> (A ~~ z -> A = z)))
1615biraldv 1219 . . . . 5 |- (x = A -> (A.z e. om (x ~~ z -> x = z) <-> A.z e. om (A ~~ z -> A = z)))
17 0ex 1745 . . . . . . . . 9 |- (/) e. V
18 visset 1350 . . . . . . . . 9 |- z e. V
19 ener 3313 . . . . . . . . 9 |- Er ~~
2017, 18, 19ersym 3209 . . . . . . . 8 |- ((/) ~~ z -> z ~~ (/))
21 en0 3328 . . . . . . . . 9 |- (z ~~ (/) <-> z = (/))
22 cleqcom 1103 . . . . . . . . 9 |- (z = (/) <-> (/) = z)
2321, 22bitr 151 . . . . . . . 8 |- (z ~~ (/) <-> (/) = z)
2420, 23sylib 173 . . . . . . 7 |- ((/) ~~ z -> (/) = z)
2524a1i 7 . . . . . 6 |- (z e. om -> ((/) ~~ z -> (/) = z))
2625rgen 1247 . . . . 5 |- A.z e. om ((/) ~~ z -> (/) = z)
27 en0 3328 . . . . . . . . . . . . 13 |- (suc y ~~ (/) <-> suc y = (/))
28 breq2 2066 . . . . . . . . . . . . . 14 |- (w = (/) -> (suc y ~~ w <-> suc y ~~ (/)))
29 cleq2 1110 . . . . . . . . . . . . . 14 |- (w = (/) -> (suc y = w <-> suc y = (/)))
3028, 29bibi12d 477 . . . . . . . . . . . . 13 |- (w = (/) -> ((suc y ~~ w <-> suc y = w) <-> (suc y ~~ (/) <-> suc y = (/))))
3127, 30mpbiri 169 . . . . . . . . . . . 12 |- (w = (/) -> (suc y ~~ w <-> suc y = w))
3231biimpd 135 . . . . . . . . . . 11 |- (w = (/) -> (suc y ~~ w -> suc y = w))
3332a1i 7 . . . . . . . . . 10 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> (w = (/) -> (suc y ~~ w -> suc y = w)))
34 ax-17 925 . . . . . . . . . . . 12 |- (y e. om -> A.z y e. om)
35 hbra1 1237 . . . . . . . . . . . 12 |- (A.z e. om (y ~~ z -> y = z) -> A.zA.z e. om (y ~~ z -> y = z))
3634, 35hban 704 . . . . . . . . . . 11 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> A.z(y e. om /\ A.z e. om (y ~~ z -> y = z)))
37 ax-17 925 . . . . . . . . . . 11 |- ((suc y ~~ w -> suc y = w) -> A.z(suc y ~~ w -> suc y = w))
38 visset 1350 . . . . . . . . . . . . . . . . . . 19 |- y e. V
3938, 18phplem5 3407 . . . . . . . . . . . . . . . . . 18 |- ((y e. om /\ z e. om) -> (suc y ~~ suc z -> y ~~ z))
4039syl4d 28 . . . . . . . . . . . . . . . . 17 |- ((y e. om /\ z e. om) -> ((y ~~ z -> y = z) -> (suc y ~~ suc z -> y = z)))
4140exp 291 . . . . . . . . . . . . . . . 16 |- (y e. om -> (z e. om -> ((y ~~ z -> y = z) -> (suc y ~~ suc z -> y = z))))
4241a2d 15 . . . . . . . . . . . . . . 15 |- (y e. om -> ((z e. om -> (y ~~ z -> y = z)) -> (z e. om -> (suc y ~~ suc z -> y = z))))
43 ra4 1243 . . . . . . . . . . . . . . 15 |- (A.z e. om (y ~~ z -> y = z) -> (z e. om -> (y ~~ z -> y = z)))
4442, 43syl5 22 . . . . . . . . . . . . . 14 |- (y e. om -> (A.z e. om (y ~~ z -> y = z) -> (z e. om -> (suc y ~~ suc z -> y = z))))
4544imp 277 . . . . . . . . . . . . 13 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> (z e. om -> (suc y ~~ suc z -> y = z)))
46 suceq 2288 . . . . . . . . . . . . 13 |- (y = z -> suc y = suc z)
4745, 46syl8 25 . . . . . . . . . . . 12 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> (z e. om -> (suc y ~~ suc z -> suc y = suc z)))
48 breq2 2066 . . . . . . . . . . . . . 14 |- (w = suc z -> (suc y ~~ w <-> suc y ~~ suc z))
49 cleq2 1110 . . . . . . . . . . . . . 14 |- (w = suc z -> (suc y = w <-> suc y = suc z))
5048, 49imbi12d 474 . . . . . . . . . . . . 13 |- (w = suc z -> ((suc y ~~ w -> suc y = w) <-> (suc y ~~ suc z -> suc y = suc z)))
5150biimprcd 138 . . . . . . . . . . . 12 |- ((suc y ~~ suc z -> suc y = suc z) -> (w = suc z -> (suc y ~~ w -> suc y = w)))
5247, 51syl6 23 . . . . . . . . . . 11 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> (z e. om -> (w = suc z -> (suc y ~~ w -> suc y = w))))
5336, 37, 52r19.23ad 1285 . . . . . . . . . 10 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> (E.z e. om w = suc z -> (suc y ~~ w -> suc y = w)))
5433, 53jaod 329 . . . . . . . . 9 |- ((y e. om /\ A.z e. om (y ~~ z -> y = z)) -> ((w = (/) \/ E.z e. om w = suc z) -> (suc y ~~ w -> suc y = w)))
5554exp 291 . . . . . . . 8 |- (y e. om -> (A.z e. om (y ~~ z -> y = z) -> ((w = (/) \/ E.z e. om w = suc z) -> (suc y ~~ w -> suc y = w))))
56 nn0suc 2395 . . . . . . . 8 |- (w e. om -> (w = (/) \/ E.z e. om w = suc z))
5755, 56syl7 24 . . . . . . 7 |- (y e. om -> (A.z e. om (y ~~ z -> y = z) -> (w e. om -> (suc y ~~ w -> suc y = w))))
5857r19.21adv 1262 . . . . . 6 |- (y e. om -> (A.z e. om (y ~~ z -> y = z) -> A.w e. om (suc y ~~ w -> suc y = w)))
59 breq2 2066 . . . . . . . 8 |- (w = z -> (suc y ~~ w <-> suc y ~~ z))
60 cleq2 1110 . . . . . . . 8 |- (w = z -> (suc y = w <-> suc y = z))
6159, 60imbi12d 474 . . . . . . 7 |- (w = z -> ((suc y ~~ w -> suc y = w) <-> (suc y ~~ z -> suc y = z)))
6261cbvralv 1333 . . . . . 6 |- (A.w e. om (suc y ~~ w -> suc y = w) <-> A.z e. om (suc y ~~ z -> suc y = z))
6358, 62syl6ib 185 . . . . 5 |- (y e. om -> (A.z e. om (y ~~ z -> y = z) -> A.z e. om (suc y ~~ z -> suc y = z)))
644, 8, 12, 16, 26, 63finds 2397 . . . 4 |- (A e. om -> A.z e. om (A ~~ z -> A = z))
65 breq2 2066 . . . . . 6 |- (z = B -> (A ~~ z <-> A ~~ B))
66 cleq2 1110 . . . . . 6 |- (z = B -> (A = z <-> A = B))
6765, 66imbi12d 474 . . . . 5 |- (z = B -> ((A ~~ z -> A = z) <-> (A ~~ B -> A = B)))
6867rcla4v 1402 . . . 4 |- (A.z e. om (A ~~ z -> A = z) -> (B e. om -> (A ~~ B -> A = B)))
6964, 68syl 12 . . 3 |- (A e. om -> (B e. om -> (A ~~ B -> A = B)))
7069imp 277 . 2 |- ((A e. om /\ B e. om) -> (A ~~ B -> A = B))
71 eqeng 3296 . . 3 |- (A e. om -> (A = B -> A ~~ B))
7271adantr 306 . 2 |- ((A e. om /\ B e. om) -> (A = B -> A ~~ B))
7370, 72impbid 397 1 |- ((A e. om /\ B e. om) -> (A ~~ B <-> A = B))
Colors of variables: wff set class
Syntax hints:   -> wi 2   <-> wb 127   \/ wo 195   /\ wa 196   = weq 797   = wceq 1091   e. wcel 1092  A.wral 1201  E.wrex 1202  (/)c0 1707   class class class wbr 2054  suc csuc 2201  omcom 2372   ~~ cen 3271
This theorem is referenced by:  php 3409  onomeneq 3414  nnsdomo 3417
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3or 582  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ral 1205  df-rex 1206  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-if 1777  df-pw 1799  df-sn 1811  df-pr 1812  df-tp 1814  df-op 1815  df-uni 1920  df-tr 2042  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-po 2128  df-so 2138  df-fr 2169  df-we 2186  df-ord 2202  df-on 2203  df-lim 2204  df-suc 2205  df-om 2373  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429 &