Metamath Proof Explorer


Theorem nnmsucr

Description: Multiplication with successor. Exercise 16 of Enderton p. 82. (Contributed by NM, 21-Sep-1995) (Proof shortened by Andrew Salmon, 22-Oct-2011)

Ref Expression
Assertion nnmsucr ⊢ A ∈ ω ∧ B ∈ ω → suc ⁡ A ⋅ 𝑜 B = A ⋅ 𝑜 B + 𝑜 B

Proof

Step Hyp Ref Expression
1 oveq2 ⊢ x = B → suc ⁡ A ⋅ 𝑜 x = suc ⁡ A ⋅ 𝑜 B
2 oveq2 ⊢ x = B → A ⋅ 𝑜 x = A ⋅ 𝑜 B
3 id ⊢ x = B → x = B
4 2 3 oveq12d ⊢ x = B → A ⋅ 𝑜 x + 𝑜 x = A ⋅ 𝑜 B + 𝑜 B
5 1 4 eqeq12d ⊢ x = B → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x ↔ suc ⁡ A ⋅ 𝑜 B = A ⋅ 𝑜 B + 𝑜 B
6 5 imbi2d ⊢ x = B → A ∈ ω → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x ↔ A ∈ ω → suc ⁡ A ⋅ 𝑜 B = A ⋅ 𝑜 B + 𝑜 B
7 oveq2 ⊢ x = ∅ → suc ⁡ A ⋅ 𝑜 x = suc ⁡ A ⋅ 𝑜 ∅
8 oveq2 ⊢ x = ∅ → A ⋅ 𝑜 x = A ⋅ 𝑜 ∅
9 id ⊢ x = ∅ → x = ∅
10 8 9 oveq12d ⊢ x = ∅ → A ⋅ 𝑜 x + 𝑜 x = A ⋅ 𝑜 ∅ + 𝑜 ∅
11 7 10 eqeq12d ⊢ x = ∅ → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x ↔ suc ⁡ A ⋅ 𝑜 ∅ = A ⋅ 𝑜 ∅ + 𝑜 ∅
12 oveq2 ⊢ x = y → suc ⁡ A ⋅ 𝑜 x = suc ⁡ A ⋅ 𝑜 y
13 oveq2 ⊢ x = y → A ⋅ 𝑜 x = A ⋅ 𝑜 y
14 id ⊢ x = y → x = y
15 13 14 oveq12d ⊢ x = y → A ⋅ 𝑜 x + 𝑜 x = A ⋅ 𝑜 y + 𝑜 y
16 12 15 eqeq12d ⊢ x = y → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x ↔ suc ⁡ A ⋅ 𝑜 y = A ⋅ 𝑜 y + 𝑜 y
17 oveq2 ⊢ x = suc ⁡ y → suc ⁡ A ⋅ 𝑜 x = suc ⁡ A ⋅ 𝑜 suc ⁡ y
18 oveq2 ⊢ x = suc ⁡ y → A ⋅ 𝑜 x = A ⋅ 𝑜 suc ⁡ y
19 id ⊢ x = suc ⁡ y → x = suc ⁡ y
20 18 19 oveq12d ⊢ x = suc ⁡ y → A ⋅ 𝑜 x + 𝑜 x = A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y
21 17 20 eqeq12d ⊢ x = suc ⁡ y → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x ↔ suc ⁡ A ⋅ 𝑜 suc ⁡ y = A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y
22 peano2 ⊢ A ∈ ω → suc ⁡ A ∈ ω
23 nnm0 ⊢ suc ⁡ A ∈ ω → suc ⁡ A ⋅ 𝑜 ∅ = ∅
24 22 23 syl ⊢ A ∈ ω → suc ⁡ A ⋅ 𝑜 ∅ = ∅
25 nnm0 ⊢ A ∈ ω → A ⋅ 𝑜 ∅ = ∅
26 24 25 eqtr4d ⊢ A ∈ ω → suc ⁡ A ⋅ 𝑜 ∅ = A ⋅ 𝑜 ∅
27 peano1 ⊢ ∅ ∈ ω
28 nnmcl ⊢ A ∈ ω ∧ ∅ ∈ ω → A ⋅ 𝑜 ∅ ∈ ω
29 27 28 mpan2 ⊢ A ∈ ω → A ⋅ 𝑜 ∅ ∈ ω
30 nna0 ⊢ A ⋅ 𝑜 ∅ ∈ ω → A ⋅ 𝑜 ∅ + 𝑜 ∅ = A ⋅ 𝑜 ∅
31 29 30 syl ⊢ A ∈ ω → A ⋅ 𝑜 ∅ + 𝑜 ∅ = A ⋅ 𝑜 ∅
32 26 31 eqtr4d ⊢ A ∈ ω → suc ⁡ A ⋅ 𝑜 ∅ = A ⋅ 𝑜 ∅ + 𝑜 ∅
33 oveq1 ⊢ suc ⁡ A ⋅ 𝑜 y = A ⋅ 𝑜 y + 𝑜 y → suc ⁡ A ⋅ 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
34 peano2b ⊢ A ∈ ω ↔ suc ⁡ A ∈ ω
35 nnmsuc ⊢ suc ⁡ A ∈ ω ∧ y ∈ ω → suc ⁡ A ⋅ 𝑜 suc ⁡ y = suc ⁡ A ⋅ 𝑜 y + 𝑜 suc ⁡ A
36 34 35 sylanb ⊢ A ∈ ω ∧ y ∈ ω → suc ⁡ A ⋅ 𝑜 suc ⁡ y = suc ⁡ A ⋅ 𝑜 y + 𝑜 suc ⁡ A
37 nnmcl ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y ∈ ω
38 peano2b ⊢ y ∈ ω ↔ suc ⁡ y ∈ ω
39 nnaass ⊢ A ⋅ 𝑜 y ∈ ω ∧ A ∈ ω ∧ suc ⁡ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
40 38 39 syl3an3b ⊢ A ⋅ 𝑜 y ∈ ω ∧ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
41 37 40 syl3an1 ⊢ A ∈ ω ∧ y ∈ ω ∧ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
42 41 3expb ⊢ A ∈ ω ∧ y ∈ ω ∧ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
43 42 anidms ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
44 nnmsuc ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A
45 44 oveq1d ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
46 nnaass ⊢ A ⋅ 𝑜 y ∈ ω ∧ y ∈ ω ∧ suc ⁡ A ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
47 34 46 syl3an3b ⊢ A ⋅ 𝑜 y ∈ ω ∧ y ∈ ω ∧ A ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
48 37 47 syl3an1 ⊢ A ∈ ω ∧ y ∈ ω ∧ y ∈ ω ∧ A ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
49 48 3expb ⊢ A ∈ ω ∧ y ∈ ω ∧ y ∈ ω ∧ A ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
50 49 an42s ⊢ A ∈ ω ∧ y ∈ ω ∧ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
51 50 anidms ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
52 nnacom ⊢ A ∈ ω ∧ y ∈ ω → A + 𝑜 y = y + 𝑜 A
53 suceq ⊢ A + 𝑜 y = y + 𝑜 A → suc ⁡ A + 𝑜 y = suc ⁡ y + 𝑜 A
54 52 53 syl ⊢ A ∈ ω ∧ y ∈ ω → suc ⁡ A + 𝑜 y = suc ⁡ y + 𝑜 A
55 nnasuc ⊢ A ∈ ω ∧ y ∈ ω → A + 𝑜 suc ⁡ y = suc ⁡ A + 𝑜 y
56 nnasuc ⊢ y ∈ ω ∧ A ∈ ω → y + 𝑜 suc ⁡ A = suc ⁡ y + 𝑜 A
57 56 ancoms ⊢ A ∈ ω ∧ y ∈ ω → y + 𝑜 suc ⁡ A = suc ⁡ y + 𝑜 A
58 54 55 57 3eqtr4d ⊢ A ∈ ω ∧ y ∈ ω → A + 𝑜 suc ⁡ y = y + 𝑜 suc ⁡ A
59 58 oveq2d ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
60 51 59 eqtr4d ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 A + 𝑜 suc ⁡ y
61 43 45 60 3eqtr4d ⊢ A ∈ ω ∧ y ∈ ω → A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
62 36 61 eqeq12d ⊢ A ∈ ω ∧ y ∈ ω → suc ⁡ A ⋅ 𝑜 suc ⁡ y = A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y ↔ suc ⁡ A ⋅ 𝑜 y + 𝑜 suc ⁡ A = A ⋅ 𝑜 y + 𝑜 y + 𝑜 suc ⁡ A
63 33 62 imbitrrid ⊢ A ∈ ω ∧ y ∈ ω → suc ⁡ A ⋅ 𝑜 y = A ⋅ 𝑜 y + 𝑜 y → suc ⁡ A ⋅ 𝑜 suc ⁡ y = A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y
64 63 expcom ⊢ y ∈ ω → A ∈ ω → suc ⁡ A ⋅ 𝑜 y = A ⋅ 𝑜 y + 𝑜 y → suc ⁡ A ⋅ 𝑜 suc ⁡ y = A ⋅ 𝑜 suc ⁡ y + 𝑜 suc ⁡ y
65 11 16 21 32 64 finds2 ⊢ x ∈ ω → A ∈ ω → suc ⁡ A ⋅ 𝑜 x = A ⋅ 𝑜 x + 𝑜 x
66 6 65 vtoclga ⊢ B ∈ ω → A ∈ ω → suc ⁡ A ⋅ 𝑜 B = A ⋅ 𝑜 B + 𝑜 B
67 66 impcom ⊢ A ∈ ω ∧ B ∈ ω → suc ⁡ A ⋅ 𝑜 B = A ⋅ 𝑜 B + 𝑜 B