ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  nnmsucr Structured version   GIF version

Theorem nnmsucr 5978
Description: Multiplication with successor. Exercise 16 of [Enderton] p. 82. (Contributed by NM, 21-Sep-1995.) (Proof shortened by Andrew Salmon, 22-Oct-2011.)
Assertion
Ref Expression
nnmsucr ((A 𝜔 B 𝜔) → (suc A ·𝑜 B) = ((A ·𝑜 B) +𝑜 B))

Proof of Theorem nnmsucr
Dummy variables x y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 5440 . . . . 5 (x = B → (suc A ·𝑜 x) = (suc A ·𝑜 B))
2 oveq2 5440 . . . . . 6 (x = B → (A ·𝑜 x) = (A ·𝑜 B))
3 id 19 . . . . . 6 (x = Bx = B)
42, 3oveq12d 5450 . . . . 5 (x = B → ((A ·𝑜 x) +𝑜 x) = ((A ·𝑜 B) +𝑜 B))
51, 4eqeq12d 2032 . . . 4 (x = B → ((suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x) ↔ (suc A ·𝑜 B) = ((A ·𝑜 B) +𝑜 B)))
65imbi2d 219 . . 3 (x = B → ((A 𝜔 → (suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x)) ↔ (A 𝜔 → (suc A ·𝑜 B) = ((A ·𝑜 B) +𝑜 B))))
7 oveq2 5440 . . . . 5 (x = ∅ → (suc A ·𝑜 x) = (suc A ·𝑜 ∅))
8 oveq2 5440 . . . . . 6 (x = ∅ → (A ·𝑜 x) = (A ·𝑜 ∅))
9 id 19 . . . . . 6 (x = ∅ → x = ∅)
108, 9oveq12d 5450 . . . . 5 (x = ∅ → ((A ·𝑜 x) +𝑜 x) = ((A ·𝑜 ∅) +𝑜 ∅))
117, 10eqeq12d 2032 . . . 4 (x = ∅ → ((suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x) ↔ (suc A ·𝑜 ∅) = ((A ·𝑜 ∅) +𝑜 ∅)))
12 oveq2 5440 . . . . 5 (x = y → (suc A ·𝑜 x) = (suc A ·𝑜 y))
13 oveq2 5440 . . . . . 6 (x = y → (A ·𝑜 x) = (A ·𝑜 y))
14 id 19 . . . . . 6 (x = yx = y)
1513, 14oveq12d 5450 . . . . 5 (x = y → ((A ·𝑜 x) +𝑜 x) = ((A ·𝑜 y) +𝑜 y))
1612, 15eqeq12d 2032 . . . 4 (x = y → ((suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x) ↔ (suc A ·𝑜 y) = ((A ·𝑜 y) +𝑜 y)))
17 oveq2 5440 . . . . 5 (x = suc y → (suc A ·𝑜 x) = (suc A ·𝑜 suc y))
18 oveq2 5440 . . . . . 6 (x = suc y → (A ·𝑜 x) = (A ·𝑜 suc y))
19 id 19 . . . . . 6 (x = suc yx = suc y)
2018, 19oveq12d 5450 . . . . 5 (x = suc y → ((A ·𝑜 x) +𝑜 x) = ((A ·𝑜 suc y) +𝑜 suc y))
2117, 20eqeq12d 2032 . . . 4 (x = suc y → ((suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x) ↔ (suc A ·𝑜 suc y) = ((A ·𝑜 suc y) +𝑜 suc y)))
22 peano2 4241 . . . . . . 7 (A 𝜔 → suc A 𝜔)
23 nnm0 5965 . . . . . . 7 (suc A 𝜔 → (suc A ·𝑜 ∅) = ∅)
2422, 23syl 14 . . . . . 6 (A 𝜔 → (suc A ·𝑜 ∅) = ∅)
25 nnm0 5965 . . . . . 6 (A 𝜔 → (A ·𝑜 ∅) = ∅)
2624, 25eqtr4d 2053 . . . . 5 (A 𝜔 → (suc A ·𝑜 ∅) = (A ·𝑜 ∅))
27 peano1 4240 . . . . . . 7 𝜔
28 nnmcl 5971 . . . . . . 7 ((A 𝜔 𝜔) → (A ·𝑜 ∅) 𝜔)
2927, 28mpan2 403 . . . . . 6 (A 𝜔 → (A ·𝑜 ∅) 𝜔)
30 nna0 5964 . . . . . 6 ((A ·𝑜 ∅) 𝜔 → ((A ·𝑜 ∅) +𝑜 ∅) = (A ·𝑜 ∅))
3129, 30syl 14 . . . . 5 (A 𝜔 → ((A ·𝑜 ∅) +𝑜 ∅) = (A ·𝑜 ∅))
3226, 31eqtr4d 2053 . . . 4 (A 𝜔 → (suc A ·𝑜 ∅) = ((A ·𝑜 ∅) +𝑜 ∅))
33 oveq1 5439 . . . . . 6 ((suc A ·𝑜 y) = ((A ·𝑜 y) +𝑜 y) → ((suc A ·𝑜 y) +𝑜 suc A) = (((A ·𝑜 y) +𝑜 y) +𝑜 suc A))
34 peano2b 4260 . . . . . . . 8 (A 𝜔 ↔ suc A 𝜔)
35 nnmsuc 5967 . . . . . . . 8 ((suc A 𝜔 y 𝜔) → (suc A ·𝑜 suc y) = ((suc A ·𝑜 y) +𝑜 suc A))
3634, 35sylanb 268 . . . . . . 7 ((A 𝜔 y 𝜔) → (suc A ·𝑜 suc y) = ((suc A ·𝑜 y) +𝑜 suc A))
37 nnmcl 5971 . . . . . . . . . . 11 ((A 𝜔 y 𝜔) → (A ·𝑜 y) 𝜔)
38 peano2b 4260 . . . . . . . . . . . 12 (y 𝜔 ↔ suc y 𝜔)
39 nnaass 5975 . . . . . . . . . . . 12 (((A ·𝑜 y) 𝜔 A 𝜔 suc y 𝜔) → (((A ·𝑜 y) +𝑜 A) +𝑜 suc y) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
4038, 39syl3an3b 1157 . . . . . . . . . . 11 (((A ·𝑜 y) 𝜔 A 𝜔 y 𝜔) → (((A ·𝑜 y) +𝑜 A) +𝑜 suc y) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
4137, 40syl3an1 1152 . . . . . . . . . 10 (((A 𝜔 y 𝜔) A 𝜔 y 𝜔) → (((A ·𝑜 y) +𝑜 A) +𝑜 suc y) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
42413expb 1089 . . . . . . . . 9 (((A 𝜔 y 𝜔) (A 𝜔 y 𝜔)) → (((A ·𝑜 y) +𝑜 A) +𝑜 suc y) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
4342anidms 379 . . . . . . . 8 ((A 𝜔 y 𝜔) → (((A ·𝑜 y) +𝑜 A) +𝑜 suc y) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
44 nnmsuc 5967 . . . . . . . . 9 ((A 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
4544oveq1d 5447 . . . . . . . 8 ((A 𝜔 y 𝜔) → ((A ·𝑜 suc y) +𝑜 suc y) = (((A ·𝑜 y) +𝑜 A) +𝑜 suc y))
46 nnaass 5975 . . . . . . . . . . . . . 14 (((A ·𝑜 y) 𝜔 y 𝜔 suc A 𝜔) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
4734, 46syl3an3b 1157 . . . . . . . . . . . . 13 (((A ·𝑜 y) 𝜔 y 𝜔 A 𝜔) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
4837, 47syl3an1 1152 . . . . . . . . . . . 12 (((A 𝜔 y 𝜔) y 𝜔 A 𝜔) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
49483expb 1089 . . . . . . . . . . 11 (((A 𝜔 y 𝜔) (y 𝜔 A 𝜔)) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
5049an42s 510 . . . . . . . . . 10 (((A 𝜔 y 𝜔) (A 𝜔 y 𝜔)) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
5150anidms 379 . . . . . . . . 9 ((A 𝜔 y 𝜔) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
52 nnacom 5974 . . . . . . . . . . . 12 ((A 𝜔 y 𝜔) → (A +𝑜 y) = (y +𝑜 A))
53 suceq 4084 . . . . . . . . . . . 12 ((A +𝑜 y) = (y +𝑜 A) → suc (A +𝑜 y) = suc (y +𝑜 A))
5452, 53syl 14 . . . . . . . . . . 11 ((A 𝜔 y 𝜔) → suc (A +𝑜 y) = suc (y +𝑜 A))
55 nnasuc 5966 . . . . . . . . . . 11 ((A 𝜔 y 𝜔) → (A +𝑜 suc y) = suc (A +𝑜 y))
56 nnasuc 5966 . . . . . . . . . . . 12 ((y 𝜔 A 𝜔) → (y +𝑜 suc A) = suc (y +𝑜 A))
5756ancoms 255 . . . . . . . . . . 11 ((A 𝜔 y 𝜔) → (y +𝑜 suc A) = suc (y +𝑜 A))
5854, 55, 573eqtr4d 2060 . . . . . . . . . 10 ((A 𝜔 y 𝜔) → (A +𝑜 suc y) = (y +𝑜 suc A))
5958oveq2d 5448 . . . . . . . . 9 ((A 𝜔 y 𝜔) → ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)) = ((A ·𝑜 y) +𝑜 (y +𝑜 suc A)))
6051, 59eqtr4d 2053 . . . . . . . 8 ((A 𝜔 y 𝜔) → (((A ·𝑜 y) +𝑜 y) +𝑜 suc A) = ((A ·𝑜 y) +𝑜 (A +𝑜 suc y)))
6143, 45, 603eqtr4d 2060 . . . . . . 7 ((A 𝜔 y 𝜔) → ((A ·𝑜 suc y) +𝑜 suc y) = (((A ·𝑜 y) +𝑜 y) +𝑜 suc A))
6236, 61eqeq12d 2032 . . . . . 6 ((A 𝜔 y 𝜔) → ((suc A ·𝑜 suc y) = ((A ·𝑜 suc y) +𝑜 suc y) ↔ ((suc A ·𝑜 y) +𝑜 suc A) = (((A ·𝑜 y) +𝑜 y) +𝑜 suc A)))
6333, 62syl5ibr 145 . . . . 5 ((A 𝜔 y 𝜔) → ((suc A ·𝑜 y) = ((A ·𝑜 y) +𝑜 y) → (suc A ·𝑜 suc y) = ((A ·𝑜 suc y) +𝑜 suc y)))
6463expcom 109 . . . 4 (y 𝜔 → (A 𝜔 → ((suc A ·𝑜 y) = ((A ·𝑜 y) +𝑜 y) → (suc A ·𝑜 suc y) = ((A ·𝑜 suc y) +𝑜 suc y))))
6511, 16, 21, 32, 64finds2 4247 . . 3 (x 𝜔 → (A 𝜔 → (suc A ·𝑜 x) = ((A ·𝑜 x) +𝑜 x)))
666, 65vtoclga 2592 . 2 (B 𝜔 → (A 𝜔 → (suc A ·𝑜 B) = ((A ·𝑜 B) +𝑜 B)))
6766impcom 116 1 ((A 𝜔 B 𝜔) → (suc A ·𝑜 B) = ((A ·𝑜 B) +𝑜 B))
Colors of variables: wff set class
Syntax hints:  wi 4   wa 97   = wceq 1226   wcel 1370  c0 3197  suc csuc 4047  𝜔com 4236  (class class class)co 5432   +𝑜 coa 5909   ·𝑜 comu 5910
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 99  ax-ia2 100  ax-ia3 101  ax-in1 532  ax-in2 533  ax-io 617  ax-5 1312  ax-7 1313  ax-gen 1314  ax-ie1 1359  ax-ie2 1360  ax-8 1372  ax-10 1373  ax-11 1374  ax-i12 1375  ax-bnd 1376  ax-4 1377  ax-13 1381  ax-14 1382  ax-17 1396  ax-i9 1400  ax-ial 1405  ax-i5r 1406  ax-ext 2000  ax-coll 3842  ax-sep 3845  ax-nul 3853  ax-pow 3897  ax-pr 3914  ax-un 4116  ax-setind 4200  ax-iinf 4234
This theorem depends on definitions:  df-bi 110  df-3an 873  df-tru 1229  df-fal 1232  df-nf 1326  df-sb 1624  df-eu 1881  df-mo 1882  df-clab 2005  df-cleq 2011  df-clel 2014  df-nfc 2145  df-ne 2184  df-ral 2285  df-rex 2286  df-reu 2287  df-rab 2289  df-v 2533  df-sbc 2738  df-csb 2826  df-dif 2893  df-un 2895  df-in 2897  df-ss 2904  df-nul 3198  df-pw 3332  df-sn 3352  df-pr 3353  df-op 3355  df-uni 3551  df-int 3586  df-iun 3629  df-br 3735  df-opab 3789  df-mpt 3790  df-tr 3825  df-id 4000  df-iord 4048  df-on 4050  df-suc 4053  df-iom 4237  df-xp 4274  df-rel 4275  df-cnv 4276  df-co 4277  df-dm 4278  df-rn 4279  df-res 4280  df-ima 4281  df-iota 4790  df-fun 4827  df-fn 4828  df-f 4829  df-f1 4830  df-fo 4831  df-f1o 4832  df-fv 4833  df-ov 5435  df-oprab 5436  df-mpt2 5437  df-1st 5686  df-2nd 5687  df-recs 5838  df-irdg 5874  df-oadd 5916  df-omul 5917
This theorem is referenced by:  nnmcom  5979
  Copyright terms: Public domain W3C validator