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

Theorem nnmsucr 3182
Description: Multiplication with successor. Exercise 16 of [Enderton] p. 82.
Assertion
Ref Expression
nnmsucr ((A ∈ ω ∧ B ∈ ω) → (suc A ·o B) = ((A ·o B) +o B))

Proof of Theorem nnmsucr
StepHypRef Expression
1 opreq2 3007 . . . . . 6 (x = ∅ → (suc A ·o x) = (suc A ·o ∅))
2 opreq2 3007 . . . . . . 7 (x = ∅ → (A ·o x) = (A ·o ∅))
3 id 9 . . . . . . 7 (x = ∅ → x = ∅)
42, 3opreq12d 3014 . . . . . 6 (x = ∅ → ((A ·o x) +o x) = ((A ·o ∅) +o ∅))
51, 4cleq12d 1115 . . . . 5 (x = ∅ → ((suc A ·o x) = ((A ·o x) +o x) ↔ (suc A ·o ∅) = ((A ·o ∅) +o ∅)))
65imbi2d 464 . . . 4 (x = ∅ → ((A ∈ ω → (suc A ·o x) = ((A ·o x) +o x)) ↔ (A ∈ ω → (suc A ·o ∅) = ((A ·o ∅) +o ∅))))
7 opreq2 3007 . . . . . 6 (x = y → (suc A ·o x) = (suc A ·o y))
8 opreq2 3007 . . . . . . 7 (x = y → (A ·o x) = (A ·o y))
9 id 9 . . . . . . 7 (x = yx = y)
108, 9opreq12d 3014 . . . . . 6 (x = y → ((A ·o x) +o x) = ((A ·o y) +o y))
117, 10cleq12d 1115 . . . . 5 (x = y → ((suc A ·o x) = ((A ·o x) +o x) ↔ (suc A ·o y) = ((A ·o y) +o y)))
1211imbi2d 464 . . . 4 (x = y → ((A ∈ ω → (suc A ·o x) = ((A ·o x) +o x)) ↔ (A ∈ ω → (suc A ·o y) = ((A ·o y) +o y))))
13 opreq2 3007 . . . . . 6 (x = suc y → (suc A ·o x) = (suc A ·o suc y))
14 opreq2 3007 . . . . . . 7 (x = suc y → (A ·o x) = (A ·o suc y))
15 id 9 . . . . . . 7 (x = suc yx = suc y)
1614, 15opreq12d 3014 . . . . . 6 (x = suc y → ((A ·o x) +o x) = ((A ·o suc y) +o suc y))
1713, 16cleq12d 1115 . . . . 5 (x = suc y → ((suc A ·o x) = ((A ·o x) +o x) ↔ (suc A ·o suc y) = ((A ·o suc y) +o suc y)))
1817imbi2d 464 . . . 4 (x = suc y → ((A ∈ ω → (suc A ·o x) = ((A ·o x) +o x)) ↔ (A ∈ ω → (suc A ·o suc y) = ((A ·o suc y) +o suc y))))
19 opreq2 3007 . . . . . 6 (x = B → (suc A ·o x) = (suc A ·o B))
20 opreq2 3007 . . . . . . 7 (x = B → (A ·o x) = (A ·o B))
21 id 9 . . . . . . 7 (x = Bx = B)
2220, 21opreq12d 3014 . . . . . 6 (x = B → ((A ·o x) +o x) = ((A ·o B) +o B))
2319, 22cleq12d 1115 . . . . 5 (x = B → ((suc A ·o x) = ((A ·o x) +o x) ↔ (suc A ·o B) = ((A ·o B) +o B)))
2423imbi2d 464 . . . 4 (x = B → ((A ∈ ω → (suc A ·o x) = ((A ·o x) +o x)) ↔ (A ∈ ω → (suc A ·o B) = ((A ·o B) +o B))))
25 peano2b 2388 . . . . . 6 (A ∈ ω ↔ suc A ∈ ω)
26 nnm0 3167 . . . . . 6 (suc A ∈ ω → (suc A ·o ∅) = ∅)
2725, 26sylbi 174 . . . . 5 (A ∈ ω → (suc A ·o ∅) = ∅)
28 nnm0 3167 . . . . . . 7 (A ∈ ω → (A ·o ∅) = ∅)
2928opreq1d 3012 . . . . . 6 (A ∈ ω → ((A ·o ∅) +o ∅) = (∅ +o ∅))
30 peano1 2390 . . . . . . 7 ∅ ∈ ω
31 nna0 3166 . . . . . . 7 (∅ ∈ ω → (∅ +o ∅) = ∅)
3230, 31ax-mp 6 . . . . . 6 (∅ +o ∅) = ∅
3329, 32syl6eq 1140 . . . . 5 (A ∈ ω → ((A ·o ∅) +o ∅) = ∅)
3427, 33eqtr4d 1131 . . . 4 (A ∈ ω → (suc A ·o ∅) = ((A ·o ∅) +o ∅))
35 nnmsuc 3169 . . . . . . . . . 10 ((suc A ∈ ω ∧ y ∈ ω) → (suc A ·o suc y) = ((suc A ·o y) +o suc A))
3635, 25sylanb 344 . . . . . . . . 9 ((A ∈ ω ∧ y ∈ ω) → (suc A ·o suc y) = ((suc A ·o y) +o suc A))
37 nnmsuc 3169 . . . . . . . . . . 11 ((A ∈ ω ∧ y ∈ ω) → (A ·o suc y) = ((A ·o y) +o A))
3837opreq1d 3012 . . . . . . . . . 10 ((A ∈ ω ∧ y ∈ ω) → ((A ·o suc y) +o suc y) = (((A ·o y) +o A) +o suc y))
39 nnacom 3175 . . . . . . . . . . . . . 14 ((A ∈ ω ∧ y ∈ ω) → (A +o y) = (y +o A))
40 suceq 2288 . . . . . . . . . . . . . 14 ((A +o y) = (y +o A) → suc (A +o y) = suc (y +o A))
4139, 40syl 12 . . . . . . . . . . . . 13 ((A ∈ ω ∧ y ∈ ω) → suc (A +o y) = suc (y +o A))
42 nnasuc 3168 . . . . . . . . . . . . 13 ((A ∈ ω ∧ y ∈ ω) → (A +o suc y) = suc (A +o y))
43 nnasuc 3168 . . . . . . . . . . . . . 14 ((y ∈ ω ∧ A ∈ ω) → (y +o suc A) = suc (y +o A))
4443ancoms 334 . . . . . . . . . . . . 13 ((A ∈ ω ∧ y ∈ ω) → (y +o suc A) = suc (y +o A))
4541, 42, 443eqtr4d 1134 . . . . . . . . . . . 12 ((A ∈ ω ∧ y ∈ ω) → (A +o suc y) = (y +o suc A))
4645opreq2d 3013 . . . . . . . . . . 11 ((A ∈ ω ∧ y ∈ ω) → ((A ·o y) +o (A +o suc y)) = ((A ·o y) +o (y +o suc A)))
47 nnaass 3179 . . . . . . . . . . . . . . 15 (((A ·o y) ∈ ω ∧ A ∈ ω ∧ suc y ∈ ω) → (((A ·o y) +o A) +o suc y) = ((A ·o y) +o (A +o suc y)))
48 peano2b 2388 . . . . . . . . . . . . . . 15 (y ∈ ω ↔ suc y ∈ ω)
4947, 48syl3an3b 624 . . . . . . . . . . . . . 14 (((A ·o y) ∈ ω ∧ A ∈ ω ∧ y ∈ ω) → (((A ·o y) +o A) +o suc y) = ((A ·o y) +o (A +o suc y)))
50 nnmcl 3173 . . . . . . . . . . . . . 14 ((A ∈ ω ∧ y ∈ ω) → (A ·o y) ∈ ω)
5149, 50syl3an1 619 . . . . . . . . . . . . 13 (((A ∈ ω ∧ y ∈ ω) ∧ A ∈ ω ∧ y ∈ ω) → (((A ·o y) +o A) +o suc y) = ((A ·o y) +o (A +o suc y)))
52513expb 613 . . . . . . . . . . . 12 (((A ∈ ω ∧ y ∈ ω) ∧ (A ∈ ω ∧ y ∈ ω)) → (((A ·o y) +o A) +o suc y) = ((A ·o y) +o (A +o suc y)))
5352anidms 332 . . . . . . . . . . 11 ((A ∈ ω ∧ y ∈ ω) → (((A ·o y) +o A) +o suc y) = ((A ·o y) +o (A +o suc y)))
54 nnaass 3179 . . . . . . . . . . . . . . . 16 (((A ·o y) ∈ ω ∧ y ∈ ω ∧ suc A ∈ ω) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
5554, 25syl3an3b 624 . . . . . . . . . . . . . . 15 (((A ·o y) ∈ ω ∧ y ∈ ω ∧ A ∈ ω) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
5655, 50syl3an1 619 . . . . . . . . . . . . . 14 (((A ∈ ω ∧ y ∈ ω) ∧ y ∈ ω ∧ A ∈ ω) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
57563expb 613 . . . . . . . . . . . . 13 (((A ∈ ω ∧ y ∈ ω) ∧ (y ∈ ω ∧ A ∈ ω)) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
5857an42s 391 . . . . . . . . . . . 12 (((A ∈ ω ∧ y ∈ ω) ∧ (A ∈ ω ∧ y ∈ ω)) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
5958anidms 332 . . . . . . . . . . 11 ((A ∈ ω ∧ y ∈ ω) → (((A ·o y) +o y) +o suc A) = ((A ·o y) +o (y +o suc A)))
6046, 53, 593eqtr4d 1134 . . . . . . . . . 10 ((A ∈ ω ∧ y ∈ ω) → (((A ·o y) +o A) +o suc y) = (((A ·o y) +o y) +o suc A))
6138, 60eqtrd 1128 . . . . . . . . 9 ((A ∈ ω ∧ y ∈ ω) → ((A ·o suc y) +o suc y) = (((A ·o y) +o y) +o suc A))
6236, 61cleq12d 1115 . . . . . . . 8 ((A ∈ ω ∧ y ∈ ω) → ((suc A ·o suc y) = ((A ·o suc y) +o suc y) ↔ ((suc A ·o y) +o suc A) = (((A ·o y) +o y) +o suc A)))
63 opreq1 3006 . . . . . . . 8 ((suc A ·o y) = ((A ·o y) +o y) → ((suc A ·o y) +o suc A) = (((A ·o y) +o y) +o suc A))
6462, 63syl5bir 184 . . . . . . 7 ((A ∈ ω ∧ y ∈ ω) → ((suc A ·o y) = ((A ·o y) +o y) → (suc A ·o suc y) = ((A ·o suc y) +o suc y)))
6564ancoms 334 . . . . . 6 ((y ∈ ω ∧ A ∈ ω) → ((suc A ·o y) = ((A ·o y) +o y) → (suc A ·o suc y) = ((A ·o suc y) +o suc y)))
6665exp 291 . . . . 5 (y ∈ ω → (A ∈ ω → ((suc A ·o y) = ((A ·o y) +o y) → (suc A ·o suc y) = ((A ·o suc y) +o suc y))))
6766a2d 15 . . . 4 (y ∈ ω → ((A ∈ ω → (suc A ·o y) = ((A ·o y) +o y)) → (A ∈ ω → (suc A ·o suc y) = ((A ·o suc y) +o suc y))))
686, 12, 18, 24, 34, 67finds 2397 . . 3 (B ∈ ω → (A ∈ ω → (suc A ·o B) = ((A ·o B) +o B)))
6968imp 277 . 2 ((B ∈ ω ∧ A ∈ ω) → (suc A ·o B) = ((A ·o B) +o B))
7069ancoms 334 1 ((A ∈ ω ∧ B ∈ ω) → (suc A ·o B) = ((A ·o B) +o B))
Colors of variables: wff set class
Syntax hints:   → wi 2   ∧ wa 196   = weq 797   = wceq 1091   ∈ wcel 1092  ∅c0 1707  suc csuc 2201  ωcom 2372  (class class class)co 3001   +o coa 3101   ·o comu 3102
This theorem is referenced by:  nnmcom 3183
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-reu 1207  df-rab 1208  df-v 1349  df-sbc 1441  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-int 1966  df-iun 1996  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  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-fv 2438  df-rdg 2970  df-opr 3003  df-oprab 3004  df-oadd 3106  df-omul 3107
metamath.org