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

Theorem nnmass 3181
Description: Multiplication of natural numbers is associative. (This can be extended to all ordinals with a longer proof.) Theorem 4K(4) of [Enderton] p. 81.
Assertion
Ref Expression
nnmass ((A ∈ ω ∧ B ∈ ω ∧ C ∈ ω) → ((A ·o B) ·o C) = (A ·o (B ·o C)))

Proof of Theorem nnmass
StepHypRef Expression
1 opreq2 3007 . . . . . . 7 (x = ∅ → ((A ·o B) ·o x) = ((A ·o B) ·o ∅))
2 opreq2 3007 . . . . . . . 8 (x = ∅ → (B ·o x) = (B ·o ∅))
32opreq2d 3013 . . . . . . 7 (x = ∅ → (A ·o (B ·o x)) = (A ·o (B ·o ∅)))
41, 3cleq12d 1115 . . . . . 6 (x = ∅ → (((A ·o B) ·o x) = (A ·o (B ·o x)) ↔ ((A ·o B) ·o ∅) = (A ·o (B ·o ∅))))
54imbi2d 464 . . . . 5 (x = ∅ → (((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o x) = (A ·o (B ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o ∅) = (A ·o (B ·o ∅)))))
6 opreq2 3007 . . . . . . 7 (x = y → ((A ·o B) ·o x) = ((A ·o B) ·o y))
7 opreq2 3007 . . . . . . . 8 (x = y → (B ·o x) = (B ·o y))
87opreq2d 3013 . . . . . . 7 (x = y → (A ·o (B ·o x)) = (A ·o (B ·o y)))
96, 8cleq12d 1115 . . . . . 6 (x = y → (((A ·o B) ·o x) = (A ·o (B ·o x)) ↔ ((A ·o B) ·o y) = (A ·o (B ·o y))))
109imbi2d 464 . . . . 5 (x = y → (((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o x) = (A ·o (B ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o y) = (A ·o (B ·o y)))))
11 opreq2 3007 . . . . . . 7 (x = suc y → ((A ·o B) ·o x) = ((A ·o B) ·o suc y))
12 opreq2 3007 . . . . . . . 8 (x = suc y → (B ·o x) = (B ·o suc y))
1312opreq2d 3013 . . . . . . 7 (x = suc y → (A ·o (B ·o x)) = (A ·o (B ·o suc y)))
1411, 13cleq12d 1115 . . . . . 6 (x = suc y → (((A ·o B) ·o x) = (A ·o (B ·o x)) ↔ ((A ·o B) ·o suc y) = (A ·o (B ·o suc y))))
1514imbi2d 464 . . . . 5 (x = suc y → (((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o x) = (A ·o (B ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y)))))
16 opreq2 3007 . . . . . . 7 (x = C → ((A ·o B) ·o x) = ((A ·o B) ·o C))
17 opreq2 3007 . . . . . . . 8 (x = C → (B ·o x) = (B ·o C))
1817opreq2d 3013 . . . . . . 7 (x = C → (A ·o (B ·o x)) = (A ·o (B ·o C)))
1916, 18cleq12d 1115 . . . . . 6 (x = C → (((A ·o B) ·o x) = (A ·o (B ·o x)) ↔ ((A ·o B) ·o C) = (A ·o (B ·o C))))
2019imbi2d 464 . . . . 5 (x = C → (((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o x) = (A ·o (B ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o C) = (A ·o (B ·o C)))))
21 nnmcl 3173 . . . . . . 7 ((A ∈ ω ∧ B ∈ ω) → (A ·o B) ∈ ω)
22 nnm0 3167 . . . . . . 7 ((A ·o B) ∈ ω → ((A ·o B) ·o ∅) = ∅)
2321, 22syl 12 . . . . . 6 ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o ∅) = ∅)
24 nnm0 3167 . . . . . . . 8 (B ∈ ω → (B ·o ∅) = ∅)
2524opreq2d 3013 . . . . . . 7 (B ∈ ω → (A ·o (B ·o ∅)) = (A ·o ∅))
26 nnm0 3167 . . . . . . 7 (A ∈ ω → (A ·o ∅) = ∅)
2725, 26sylan9eqr 1145 . . . . . 6 ((A ∈ ω ∧ B ∈ ω) → (A ·o (B ·o ∅)) = ∅)
2823, 27eqtr4d 1131 . . . . 5 ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o ∅) = (A ·o (B ·o ∅)))
29 nnmsuc 3169 . . . . . . . . . . . . 13 (((A ·o B) ∈ ω ∧ y ∈ ω) → ((A ·o B) ·o suc y) = (((A ·o B) ·o y) +o (A ·o B)))
3029, 21sylan 343 . . . . . . . . . . . 12 (((A ∈ ω ∧ B ∈ ω) ∧ y ∈ ω) → ((A ·o B) ·o suc y) = (((A ·o B) ·o y) +o (A ·o B)))
31303impa 609 . . . . . . . . . . 11 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → ((A ·o B) ·o suc y) = (((A ·o B) ·o y) +o (A ·o B)))
32 nnmsuc 3169 . . . . . . . . . . . . . 14 ((B ∈ ω ∧ y ∈ ω) → (B ·o suc y) = ((B ·o y) +o B))
33323adant1 597 . . . . . . . . . . . . 13 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (B ·o suc y) = ((B ·o y) +o B))
3433opreq2d 3013 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o (B ·o suc y)) = (A ·o ((B ·o y) +o B)))
35 nndi 3180 . . . . . . . . . . . . . . . . . 18 ((A ∈ ω ∧ (B ·o y) ∈ ω ∧ B ∈ ω) → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B)))
36 nnmcl 3173 . . . . . . . . . . . . . . . . . 18 ((B ∈ ω ∧ y ∈ ω) → (B ·o y) ∈ ω)
3735, 36syl3an2 620 . . . . . . . . . . . . . . . . 17 ((A ∈ ω ∧ (B ∈ ω ∧ y ∈ ω) ∧ B ∈ ω) → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B)))
38373exp 611 . . . . . . . . . . . . . . . 16 (A ∈ ω → ((B ∈ ω ∧ y ∈ ω) → (B ∈ ω → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B)))))
3938exp3a 292 . . . . . . . . . . . . . . 15 (A ∈ ω → (B ∈ ω → (y ∈ ω → (B ∈ ω → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B))))))
4039com34 36 . . . . . . . . . . . . . 14 (A ∈ ω → (B ∈ ω → (B ∈ ω → (y ∈ ω → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B))))))
4140pm2.43d 59 . . . . . . . . . . . . 13 (A ∈ ω → (B ∈ ω → (y ∈ ω → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B)))))
42413imp 608 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o ((B ·o y) +o B)) = ((A ·o (B ·o y)) +o (A ·o B)))
4334, 42eqtrd 1128 . . . . . . . . . . 11 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o (B ·o suc y)) = ((A ·o (B ·o y)) +o (A ·o B)))
4431, 43cleq12d 1115 . . . . . . . . . 10 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (((A ·o B) ·o suc y) = (A ·o (B ·o suc y)) ↔ (((A ·o B) ·o y) +o (A ·o B)) = ((A ·o (B ·o y)) +o (A ·o B))))
45 opreq1 3006 . . . . . . . . . 10 (((A ·o B) ·o y) = (A ·o (B ·o y)) → (((A ·o B) ·o y) +o (A ·o B)) = ((A ·o (B ·o y)) +o (A ·o B)))
4644, 45syl5bir 184 . . . . . . . . 9 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (((A ·o B) ·o y) = (A ·o (B ·o y)) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y))))
47463exp 611 . . . . . . . 8 (A ∈ ω → (B ∈ ω → (y ∈ ω → (((A ·o B) ·o y) = (A ·o (B ·o y)) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y))))))
4847com3r 35 . . . . . . 7 (y ∈ ω → (A ∈ ω → (B ∈ ω → (((A ·o B) ·o y) = (A ·o (B ·o y)) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y))))))
4948imp3a 279 . . . . . 6 (y ∈ ω → ((A ∈ ω ∧ B ∈ ω) → (((A ·o B) ·o y) = (A ·o (B ·o y)) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y)))))
5049a2d 15 . . . . 5 (y ∈ ω → (((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o y) = (A ·o (B ·o y))) → ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o suc y) = (A ·o (B ·o suc y)))))
515, 10, 15, 20, 28, 50finds 2397 . . . 4 (C ∈ ω → ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) ·o C) = (A ·o (B ·o C))))
5251exp3a 292 . . 3 (C ∈ ω → (A ∈ ω → (B ∈ ω → ((A ·o B) ·o C) = (A ·o (B ·o C)))))
5352com3l 34 . 2 (A ∈ ω → (B ∈ ω → (C ∈ ω → ((A ·o B) ·o C) = (A ·o (B ·o C)))))
54533imp 608 1 ((A ∈ ω ∧ B ∈ ω ∧ C ∈ ω) → ((A ·o B) ·o C) = (A ·o (B ·o C)))
Colors of variables: wff set class
Syntax hints:   → wi 2   ∧ wa 196   ∧ w3a 581   = 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:  mulasspi 3819
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