Metamath Proof Explorer


Theorem nnacom

Description: Addition of natural numbers is commutative. Theorem 4K(2) of Enderton p. 81. (Contributed by NM, 6-May-1995) (Revised by Mario Carneiro, 15-Nov-2014)

Ref Expression
Assertion nnacom AωBωA+𝑜B=B+𝑜A

Proof

Step Hyp Ref Expression
1 oveq1 x=Ax+𝑜B=A+𝑜B
2 oveq2 x=AB+𝑜x=B+𝑜A
3 1 2 eqeq12d x=Ax+𝑜B=B+𝑜xA+𝑜B=B+𝑜A
4 3 imbi2d x=ABωx+𝑜B=B+𝑜xBωA+𝑜B=B+𝑜A
5 oveq1 x=x+𝑜B=+𝑜B
6 oveq2 x=B+𝑜x=B+𝑜
7 5 6 eqeq12d x=x+𝑜B=B+𝑜x+𝑜B=B+𝑜
8 oveq1 x=yx+𝑜B=y+𝑜B
9 oveq2 x=yB+𝑜x=B+𝑜y
10 8 9 eqeq12d x=yx+𝑜B=B+𝑜xy+𝑜B=B+𝑜y
11 oveq1 x=sucyx+𝑜B=sucy+𝑜B
12 oveq2 x=sucyB+𝑜x=B+𝑜sucy
13 11 12 eqeq12d x=sucyx+𝑜B=B+𝑜xsucy+𝑜B=B+𝑜sucy
14 nna0r Bω+𝑜B=B
15 nna0 BωB+𝑜=B
16 14 15 eqtr4d Bω+𝑜B=B+𝑜
17 suceq y+𝑜B=B+𝑜ysucy+𝑜B=sucB+𝑜y
18 oveq2 x=Bsucy+𝑜x=sucy+𝑜B
19 oveq2 x=By+𝑜x=y+𝑜B
20 suceq y+𝑜x=y+𝑜Bsucy+𝑜x=sucy+𝑜B
21 19 20 syl x=Bsucy+𝑜x=sucy+𝑜B
22 18 21 eqeq12d x=Bsucy+𝑜x=sucy+𝑜xsucy+𝑜B=sucy+𝑜B
23 22 imbi2d x=Byωsucy+𝑜x=sucy+𝑜xyωsucy+𝑜B=sucy+𝑜B
24 oveq2 x=sucy+𝑜x=sucy+𝑜
25 oveq2 x=y+𝑜x=y+𝑜
26 suceq y+𝑜x=y+𝑜sucy+𝑜x=sucy+𝑜
27 25 26 syl x=sucy+𝑜x=sucy+𝑜
28 24 27 eqeq12d x=sucy+𝑜x=sucy+𝑜xsucy+𝑜=sucy+𝑜
29 oveq2 x=zsucy+𝑜x=sucy+𝑜z
30 oveq2 x=zy+𝑜x=y+𝑜z
31 suceq y+𝑜x=y+𝑜zsucy+𝑜x=sucy+𝑜z
32 30 31 syl x=zsucy+𝑜x=sucy+𝑜z
33 29 32 eqeq12d x=zsucy+𝑜x=sucy+𝑜xsucy+𝑜z=sucy+𝑜z
34 oveq2 x=suczsucy+𝑜x=sucy+𝑜sucz
35 oveq2 x=suczy+𝑜x=y+𝑜sucz
36 suceq y+𝑜x=y+𝑜suczsucy+𝑜x=sucy+𝑜sucz
37 35 36 syl x=suczsucy+𝑜x=sucy+𝑜sucz
38 34 37 eqeq12d x=suczsucy+𝑜x=sucy+𝑜xsucy+𝑜sucz=sucy+𝑜sucz
39 peano2 yωsucyω
40 nna0 sucyωsucy+𝑜=sucy
41 39 40 syl yωsucy+𝑜=sucy
42 nna0 yωy+𝑜=y
43 suceq y+𝑜=ysucy+𝑜=sucy
44 42 43 syl yωsucy+𝑜=sucy
45 41 44 eqtr4d yωsucy+𝑜=sucy+𝑜
46 suceq sucy+𝑜z=sucy+𝑜zsucsucy+𝑜z=sucsucy+𝑜z
47 nnasuc sucyωzωsucy+𝑜sucz=sucsucy+𝑜z
48 39 47 sylan yωzωsucy+𝑜sucz=sucsucy+𝑜z
49 nnasuc yωzωy+𝑜sucz=sucy+𝑜z
50 suceq y+𝑜sucz=sucy+𝑜zsucy+𝑜sucz=sucsucy+𝑜z
51 49 50 syl yωzωsucy+𝑜sucz=sucsucy+𝑜z
52 48 51 eqeq12d yωzωsucy+𝑜sucz=sucy+𝑜suczsucsucy+𝑜z=sucsucy+𝑜z
53 46 52 imbitrrid yωzωsucy+𝑜z=sucy+𝑜zsucy+𝑜sucz=sucy+𝑜sucz
54 53 expcom zωyωsucy+𝑜z=sucy+𝑜zsucy+𝑜sucz=sucy+𝑜sucz
55 28 33 38 45 54 finds2 xωyωsucy+𝑜x=sucy+𝑜x
56 23 55 vtoclga Bωyωsucy+𝑜B=sucy+𝑜B
57 56 imp Bωyωsucy+𝑜B=sucy+𝑜B
58 nnasuc BωyωB+𝑜sucy=sucB+𝑜y
59 57 58 eqeq12d Bωyωsucy+𝑜B=B+𝑜sucysucy+𝑜B=sucB+𝑜y
60 17 59 imbitrrid Bωyωy+𝑜B=B+𝑜ysucy+𝑜B=B+𝑜sucy
61 60 expcom yωBωy+𝑜B=B+𝑜ysucy+𝑜B=B+𝑜sucy
62 7 10 13 16 61 finds2 xωBωx+𝑜B=B+𝑜x
63 4 62 vtoclga AωBωA+𝑜B=B+𝑜A
64 63 imp AωBωA+𝑜B=B+𝑜A