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

Theorem nndi 3180
Description: Distributive law for natural numbers. (This can be extended to all ordinals with a longer proof.) Theorem 4K(3) of [Enderton] p. 81.
Assertion
Ref Expression
nndi ((A ∈ ω ∧ B ∈ ω ∧ C ∈ ω) → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C)))

Proof of Theorem nndi
StepHypRef Expression
1 opreq2 3007 . . . . . . . 8 (x = ∅ → (B +o x) = (B +o ∅))
21opreq2d 3013 . . . . . . 7 (x = ∅ → (A ·o (B +o x)) = (A ·o (B +o ∅)))
3 opreq2 3007 . . . . . . . 8 (x = ∅ → (A ·o x) = (A ·o ∅))
43opreq2d 3013 . . . . . . 7 (x = ∅ → ((A ·o B) +o (A ·o x)) = ((A ·o B) +o (A ·o ∅)))
52, 4cleq12d 1115 . . . . . 6 (x = ∅ → ((A ·o (B +o x)) = ((A ·o B) +o (A ·o x)) ↔ (A ·o (B +o ∅)) = ((A ·o B) +o (A ·o ∅))))
65imbi2d 464 . . . . 5 (x = ∅ → (((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o x)) = ((A ·o B) +o (A ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o ∅)) = ((A ·o B) +o (A ·o ∅)))))
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)))
9 opreq2 3007 . . . . . . . 8 (x = y → (A ·o x) = (A ·o y))
109opreq2d 3013 . . . . . . 7 (x = y → ((A ·o B) +o (A ·o x)) = ((A ·o B) +o (A ·o y)))
118, 10cleq12d 1115 . . . . . 6 (x = y → ((A ·o (B +o x)) = ((A ·o B) +o (A ·o x)) ↔ (A ·o (B +o y)) = ((A ·o B) +o (A ·o y))))
1211imbi2d 464 . . . . 5 (x = y → (((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o x)) = ((A ·o B) +o (A ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o y)) = ((A ·o B) +o (A ·o y)))))
13 opreq2 3007 . . . . . . . 8 (x = suc y → (B +o x) = (B +o suc y))
1413opreq2d 3013 . . . . . . 7 (x = suc y → (A ·o (B +o x)) = (A ·o (B +o suc y)))
15 opreq2 3007 . . . . . . . 8 (x = suc y → (A ·o x) = (A ·o suc y))
1615opreq2d 3013 . . . . . . 7 (x = suc y → ((A ·o B) +o (A ·o x)) = ((A ·o B) +o (A ·o suc y)))
1714, 16cleq12d 1115 . . . . . 6 (x = suc y → ((A ·o (B +o x)) = ((A ·o B) +o (A ·o x)) ↔ (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y))))
1817imbi2d 464 . . . . 5 (x = suc y → (((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o x)) = ((A ·o B) +o (A ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y)))))
19 opreq2 3007 . . . . . . . 8 (x = C → (B +o x) = (B +o C))
2019opreq2d 3013 . . . . . . 7 (x = C → (A ·o (B +o x)) = (A ·o (B +o C)))
21 opreq2 3007 . . . . . . . 8 (x = C → (A ·o x) = (A ·o C))
2221opreq2d 3013 . . . . . . 7 (x = C → ((A ·o B) +o (A ·o x)) = ((A ·o B) +o (A ·o C)))
2320, 22cleq12d 1115 . . . . . 6 (x = C → ((A ·o (B +o x)) = ((A ·o B) +o (A ·o x)) ↔ (A ·o (B +o C)) = ((A ·o B) +o (A ·o C))))
2423imbi2d 464 . . . . 5 (x = C → (((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o x)) = ((A ·o B) +o (A ·o x))) ↔ ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C)))))
25 nnmcl 3173 . . . . . . 7 ((A ∈ ω ∧ B ∈ ω) → (A ·o B) ∈ ω)
26 nna0 3166 . . . . . . 7 ((A ·o B) ∈ ω → ((A ·o B) +o ∅) = (A ·o B))
2725, 26syl 12 . . . . . 6 ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) +o ∅) = (A ·o B))
28 pm3.26 256 . . . . . . . 8 ((A ∈ ω ∧ B ∈ ω) → A ∈ ω)
29 nnont 2379 . . . . . . . 8 (A ∈ ω → A ∈ On)
30 om0 3125 . . . . . . . 8 (A ∈ On → (A ·o ∅) = ∅)
3128, 29, 303syl 21 . . . . . . 7 ((A ∈ ω ∧ B ∈ ω) → (A ·o ∅) = ∅)
3231opreq2d 3013 . . . . . 6 ((A ∈ ω ∧ B ∈ ω) → ((A ·o B) +o (A ·o ∅)) = ((A ·o B) +o ∅))
33 nna0 3166 . . . . . . . 8 (B ∈ ω → (B +o ∅) = B)
3433adantl 305 . . . . . . 7 ((A ∈ ω ∧ B ∈ ω) → (B +o ∅) = B)
3534opreq2d 3013 . . . . . 6 ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o ∅)) = (A ·o B))
3627, 32, 353eqtr4rd 1135 . . . . 5 ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o ∅)) = ((A ·o B) +o (A ·o ∅)))
37 nnasuc 3168 . . . . . . . . . . . . . 14 ((B ∈ ω ∧ y ∈ ω) → (B +o suc y) = suc (B +o y))
38373adant1 597 . . . . . . . . . . . . 13 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (B +o suc y) = suc (B +o y))
3938opreq2d 3013 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o (B +o suc y)) = (A ·o suc (B +o y)))
40 nnmsuc 3169 . . . . . . . . . . . . . 14 ((A ∈ ω ∧ (B +o y) ∈ ω) → (A ·o suc (B +o y)) = ((A ·o (B +o y)) +o A))
41 nnacl 3172 . . . . . . . . . . . . . 14 ((B ∈ ω ∧ y ∈ ω) → (B +o y) ∈ ω)
4240, 41sylan2 346 . . . . . . . . . . . . 13 ((A ∈ ω ∧ (B ∈ ω ∧ y ∈ ω)) → (A ·o suc (B +o y)) = ((A ·o (B +o y)) +o A))
43423impb 610 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o suc (B +o y)) = ((A ·o (B +o y)) +o A))
4439, 43eqtrd 1128 . . . . . . . . . . 11 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o (B +o suc y)) = ((A ·o (B +o y)) +o A))
45 nnmsuc 3169 . . . . . . . . . . . . . 14 ((A ∈ ω ∧ y ∈ ω) → (A ·o suc y) = ((A ·o y) +o A))
46453adant2 598 . . . . . . . . . . . . 13 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (A ·o suc y) = ((A ·o y) +o A))
4746opreq2d 3013 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → ((A ·o B) +o (A ·o suc y)) = ((A ·o B) +o ((A ·o y) +o A)))
48 nnaass 3179 . . . . . . . . . . . . . . . . . . . 20 (((A ·o B) ∈ ω ∧ (A ·o y) ∈ ω ∧ A ∈ ω) → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))
4948, 25syl3an1 619 . . . . . . . . . . . . . . . . . . 19 (((A ∈ ω ∧ B ∈ ω) ∧ (A ·o y) ∈ ω ∧ A ∈ ω) → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))
50 nnmcl 3173 . . . . . . . . . . . . . . . . . . 19 ((A ∈ ω ∧ y ∈ ω) → (A ·o y) ∈ ω)
5149, 50syl3an2 620 . . . . . . . . . . . . . . . . . 18 (((A ∈ ω ∧ B ∈ ω) ∧ (A ∈ ω ∧ y ∈ ω) ∧ A ∈ ω) → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))
52513exp 611 . . . . . . . . . . . . . . . . 17 ((A ∈ ω ∧ B ∈ ω) → ((A ∈ ω ∧ y ∈ ω) → (A ∈ ω → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))))
5352exp4b 296 . . . . . . . . . . . . . . . 16 (A ∈ ω → (B ∈ ω → (A ∈ ω → (y ∈ ω → (A ∈ ω → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))))))
5453pm2.43a 60 . . . . . . . . . . . . . . 15 (A ∈ ω → (B ∈ ω → (y ∈ ω → (A ∈ ω → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A))))))
5554com4r 41 . . . . . . . . . . . . . 14 (A ∈ ω → (A ∈ ω → (B ∈ ω → (y ∈ ω → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A))))))
5655pm2.43i 58 . . . . . . . . . . . . 13 (A ∈ ω → (B ∈ ω → (y ∈ ω → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))))
57563imp 608 . . . . . . . . . . . 12 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → (((A ·o B) +o (A ·o y)) +o A) = ((A ·o B) +o ((A ·o y) +o A)))
5847, 57eqtr4d 1131 . . . . . . . . . . 11 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → ((A ·o B) +o (A ·o suc y)) = (((A ·o B) +o (A ·o y)) +o A))
5944, 58cleq12d 1115 . . . . . . . . . 10 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → ((A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y)) ↔ ((A ·o (B +o y)) +o A) = (((A ·o B) +o (A ·o y)) +o A)))
60 opreq1 3006 . . . . . . . . . 10 ((A ·o (B +o y)) = ((A ·o B) +o (A ·o y)) → ((A ·o (B +o y)) +o A) = (((A ·o B) +o (A ·o y)) +o A))
6159, 60syl5bir 184 . . . . . . . . 9 ((A ∈ ω ∧ B ∈ ω ∧ y ∈ ω) → ((A ·o (B +o y)) = ((A ·o B) +o (A ·o y)) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y))))
62613exp 611 . . . . . . . 8 (A ∈ ω → (B ∈ ω → (y ∈ ω → ((A ·o (B +o y)) = ((A ·o B) +o (A ·o y)) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y))))))
6362com3r 35 . . . . . . 7 (y ∈ ω → (A ∈ ω → (B ∈ ω → ((A ·o (B +o y)) = ((A ·o B) +o (A ·o y)) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y))))))
6463imp3a 279 . . . . . 6 (y ∈ ω → ((A ∈ ω ∧ B ∈ ω) → ((A ·o (B +o y)) = ((A ·o B) +o (A ·o y)) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y)))))
6564a2d 15 . . . . 5 (y ∈ ω → (((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o y)) = ((A ·o B) +o (A ·o y))) → ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o suc y)) = ((A ·o B) +o (A ·o suc y)))))
666, 12, 18, 24, 36, 65finds 2397 . . . 4 (C ∈ ω → ((A ∈ ω ∧ B ∈ ω) → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C))))
6766exp3a 292 . . 3 (C ∈ ω → (A ∈ ω → (B ∈ ω → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C)))))
6867com3l 34 . 2 (A ∈ ω → (B ∈ ω → (C ∈ ω → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C)))))
69683imp 608 1 ((A ∈ ω ∧ B ∈ ω ∧ C ∈ ω) → (A ·o (B +o C)) = ((A ·o B) +o (A ·o C)))
Colors of variables: wff set class
Syntax hints:   → wi 2   ∧ wa 196   ∧ w3a 581   = weq 797   = wceq 1091   ∈ wcel 1092  ∅c0 1707  Oncon0 2199  suc csuc 2201  ωcom 2372  (class class class)co 3001   +o coa 3101   ·o comu 3102
This theorem is referenced by:  nnmass 3181  distrpi 3820
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