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

Theorem nnaass 6003
Description: Addition of natural numbers is associative. Theorem 4K(1) of [Enderton] p. 81. (Contributed by NM, 20-Sep-1995.) (Revised by Mario Carneiro, 15-Nov-2014.)
Assertion
Ref Expression
nnaass ((A 𝜔 B 𝜔 𝐶 𝜔) → ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶)))

Proof of Theorem nnaass
Dummy variables x y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 5463 . . . . . 6 (x = 𝐶 → ((A +𝑜 B) +𝑜 x) = ((A +𝑜 B) +𝑜 𝐶))
2 oveq2 5463 . . . . . . 7 (x = 𝐶 → (B +𝑜 x) = (B +𝑜 𝐶))
32oveq2d 5471 . . . . . 6 (x = 𝐶 → (A +𝑜 (B +𝑜 x)) = (A +𝑜 (B +𝑜 𝐶)))
41, 3eqeq12d 2051 . . . . 5 (x = 𝐶 → (((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x)) ↔ ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶))))
54imbi2d 219 . . . 4 (x = 𝐶 → (((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x))) ↔ ((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶)))))
6 oveq2 5463 . . . . . 6 (x = ∅ → ((A +𝑜 B) +𝑜 x) = ((A +𝑜 B) +𝑜 ∅))
7 oveq2 5463 . . . . . . 7 (x = ∅ → (B +𝑜 x) = (B +𝑜 ∅))
87oveq2d 5471 . . . . . 6 (x = ∅ → (A +𝑜 (B +𝑜 x)) = (A +𝑜 (B +𝑜 ∅)))
96, 8eqeq12d 2051 . . . . 5 (x = ∅ → (((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x)) ↔ ((A +𝑜 B) +𝑜 ∅) = (A +𝑜 (B +𝑜 ∅))))
10 oveq2 5463 . . . . . 6 (x = y → ((A +𝑜 B) +𝑜 x) = ((A +𝑜 B) +𝑜 y))
11 oveq2 5463 . . . . . . 7 (x = y → (B +𝑜 x) = (B +𝑜 y))
1211oveq2d 5471 . . . . . 6 (x = y → (A +𝑜 (B +𝑜 x)) = (A +𝑜 (B +𝑜 y)))
1310, 12eqeq12d 2051 . . . . 5 (x = y → (((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x)) ↔ ((A +𝑜 B) +𝑜 y) = (A +𝑜 (B +𝑜 y))))
14 oveq2 5463 . . . . . 6 (x = suc y → ((A +𝑜 B) +𝑜 x) = ((A +𝑜 B) +𝑜 suc y))
15 oveq2 5463 . . . . . . 7 (x = suc y → (B +𝑜 x) = (B +𝑜 suc y))
1615oveq2d 5471 . . . . . 6 (x = suc y → (A +𝑜 (B +𝑜 x)) = (A +𝑜 (B +𝑜 suc y)))
1714, 16eqeq12d 2051 . . . . 5 (x = suc y → (((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x)) ↔ ((A +𝑜 B) +𝑜 suc y) = (A +𝑜 (B +𝑜 suc y))))
18 nnacl 5998 . . . . . . 7 ((A 𝜔 B 𝜔) → (A +𝑜 B) 𝜔)
19 nna0 5992 . . . . . . 7 ((A +𝑜 B) 𝜔 → ((A +𝑜 B) +𝑜 ∅) = (A +𝑜 B))
2018, 19syl 14 . . . . . 6 ((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 ∅) = (A +𝑜 B))
21 nna0 5992 . . . . . . . 8 (B 𝜔 → (B +𝑜 ∅) = B)
2221oveq2d 5471 . . . . . . 7 (B 𝜔 → (A +𝑜 (B +𝑜 ∅)) = (A +𝑜 B))
2322adantl 262 . . . . . 6 ((A 𝜔 B 𝜔) → (A +𝑜 (B +𝑜 ∅)) = (A +𝑜 B))
2420, 23eqtr4d 2072 . . . . 5 ((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 ∅) = (A +𝑜 (B +𝑜 ∅)))
25 suceq 4105 . . . . . . 7 (((A +𝑜 B) +𝑜 y) = (A +𝑜 (B +𝑜 y)) → suc ((A +𝑜 B) +𝑜 y) = suc (A +𝑜 (B +𝑜 y)))
26 nnasuc 5994 . . . . . . . . 9 (((A +𝑜 B) 𝜔 y 𝜔) → ((A +𝑜 B) +𝑜 suc y) = suc ((A +𝑜 B) +𝑜 y))
2718, 26sylan 267 . . . . . . . 8 (((A 𝜔 B 𝜔) y 𝜔) → ((A +𝑜 B) +𝑜 suc y) = suc ((A +𝑜 B) +𝑜 y))
28 nnasuc 5994 . . . . . . . . . . . 12 ((B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
2928oveq2d 5471 . . . . . . . . . . 11 ((B 𝜔 y 𝜔) → (A +𝑜 (B +𝑜 suc y)) = (A +𝑜 suc (B +𝑜 y)))
3029adantl 262 . . . . . . . . . 10 ((A 𝜔 (B 𝜔 y 𝜔)) → (A +𝑜 (B +𝑜 suc y)) = (A +𝑜 suc (B +𝑜 y)))
31 nnacl 5998 . . . . . . . . . . 11 ((B 𝜔 y 𝜔) → (B +𝑜 y) 𝜔)
32 nnasuc 5994 . . . . . . . . . . 11 ((A 𝜔 (B +𝑜 y) 𝜔) → (A +𝑜 suc (B +𝑜 y)) = suc (A +𝑜 (B +𝑜 y)))
3331, 32sylan2 270 . . . . . . . . . 10 ((A 𝜔 (B 𝜔 y 𝜔)) → (A +𝑜 suc (B +𝑜 y)) = suc (A +𝑜 (B +𝑜 y)))
3430, 33eqtrd 2069 . . . . . . . . 9 ((A 𝜔 (B 𝜔 y 𝜔)) → (A +𝑜 (B +𝑜 suc y)) = suc (A +𝑜 (B +𝑜 y)))
3534anassrs 380 . . . . . . . 8 (((A 𝜔 B 𝜔) y 𝜔) → (A +𝑜 (B +𝑜 suc y)) = suc (A +𝑜 (B +𝑜 y)))
3627, 35eqeq12d 2051 . . . . . . 7 (((A 𝜔 B 𝜔) y 𝜔) → (((A +𝑜 B) +𝑜 suc y) = (A +𝑜 (B +𝑜 suc y)) ↔ suc ((A +𝑜 B) +𝑜 y) = suc (A +𝑜 (B +𝑜 y))))
3725, 36syl5ibr 145 . . . . . 6 (((A 𝜔 B 𝜔) y 𝜔) → (((A +𝑜 B) +𝑜 y) = (A +𝑜 (B +𝑜 y)) → ((A +𝑜 B) +𝑜 suc y) = (A +𝑜 (B +𝑜 suc y))))
3837expcom 109 . . . . 5 (y 𝜔 → ((A 𝜔 B 𝜔) → (((A +𝑜 B) +𝑜 y) = (A +𝑜 (B +𝑜 y)) → ((A +𝑜 B) +𝑜 suc y) = (A +𝑜 (B +𝑜 suc y)))))
399, 13, 17, 24, 38finds2 4267 . . . 4 (x 𝜔 → ((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 x) = (A +𝑜 (B +𝑜 x))))
405, 39vtoclga 2613 . . 3 (𝐶 𝜔 → ((A 𝜔 B 𝜔) → ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶))))
4140com12 27 . 2 ((A 𝜔 B 𝜔) → (𝐶 𝜔 → ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶))))
42413impia 1100 1 ((A 𝜔 B 𝜔 𝐶 𝜔) → ((A +𝑜 B) +𝑜 𝐶) = (A +𝑜 (B +𝑜 𝐶)))
Colors of variables: wff set class
Syntax hints:  wi 4   wa 97   w3a 884   = wceq 1242   wcel 1390  c0 3218  suc csuc 4068  𝜔com 4256  (class class class)co 5455   +𝑜 coa 5937
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 544  ax-in2 545  ax-io 629  ax-5 1333  ax-7 1334  ax-gen 1335  ax-ie1 1379  ax-ie2 1380  ax-8 1392  ax-10 1393  ax-11 1394  ax-i12 1395  ax-bnd 1396  ax-4 1397  ax-13 1401  ax-14 1402  ax-17 1416  ax-i9 1420  ax-ial 1424  ax-i5r 1425  ax-ext 2019  ax-coll 3863  ax-sep 3866  ax-nul 3874  ax-pow 3918  ax-pr 3935  ax-un 4136  ax-setind 4220  ax-iinf 4254
This theorem depends on definitions:  df-bi 110  df-3an 886  df-tru 1245  df-fal 1248  df-nf 1347  df-sb 1643  df-eu 1900  df-mo 1901  df-clab 2024  df-cleq 2030  df-clel 2033  df-nfc 2164  df-ne 2203  df-ral 2305  df-rex 2306  df-reu 2307  df-rab 2309  df-v 2553  df-sbc 2759  df-csb 2847  df-dif 2914  df-un 2916  df-in 2918  df-ss 2925  df-nul 3219  df-pw 3353  df-sn 3373  df-pr 3374  df-op 3376  df-uni 3572  df-int 3607  df-iun 3650  df-br 3756  df-opab 3810  df-mpt 3811  df-tr 3846  df-id 4021  df-iord 4069  df-on 4071  df-suc 4074  df-iom 4257  df-xp 4294  df-rel 4295  df-cnv 4296  df-co 4297  df-dm 4298  df-rn 4299  df-res 4300  df-ima 4301  df-iota 4810  df-fun 4847  df-fn 4848  df-f 4849  df-f1 4850  df-fo 4851  df-f1o 4852  df-fv 4853  df-ov 5458  df-oprab 5459  df-mpt2 5460  df-1st 5709  df-2nd 5710  df-recs 5861  df-irdg 5897  df-oadd 5944
This theorem is referenced by:  nndi  6004  nnmsucr  6006  addasspig  6314  addassnq0  6444  prarloclemlo  6476
  Copyright terms: Public domain W3C validator