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

Theorem nndi 6004
 Description: Distributive law for natural numbers (left-distributivity). Theorem 4K(3) of [Enderton] p. 81. (Contributed by NM, 20-Sep-1995.) (Revised by Mario Carneiro, 15-Nov-2014.)
Assertion
Ref Expression
nndi ((A 𝜔 B 𝜔 𝐶 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))

Proof of Theorem nndi
Dummy variables x y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 5463 . . . . . . 7 (x = 𝐶 → (B +𝑜 x) = (B +𝑜 𝐶))
21oveq2d 5471 . . . . . 6 (x = 𝐶 → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 𝐶)))
3 oveq2 5463 . . . . . . 7 (x = 𝐶 → (A ·𝑜 x) = (A ·𝑜 𝐶))
43oveq2d 5471 . . . . . 6 (x = 𝐶 → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
52, 4eqeq12d 2051 . . . . 5 (x = 𝐶 → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶))))
65imbi2d 219 . . . 4 (x = 𝐶 → (((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x))) ↔ ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))))
7 oveq2 5463 . . . . . . 7 (x = ∅ → (B +𝑜 x) = (B +𝑜 ∅))
87oveq2d 5471 . . . . . 6 (x = ∅ → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 ∅)))
9 oveq2 5463 . . . . . . 7 (x = ∅ → (A ·𝑜 x) = (A ·𝑜 ∅))
109oveq2d 5471 . . . . . 6 (x = ∅ → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
118, 10eqeq12d 2051 . . . . 5 (x = ∅ → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅))))
12 oveq2 5463 . . . . . . 7 (x = y → (B +𝑜 x) = (B +𝑜 y))
1312oveq2d 5471 . . . . . 6 (x = y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 y)))
14 oveq2 5463 . . . . . . 7 (x = y → (A ·𝑜 x) = (A ·𝑜 y))
1514oveq2d 5471 . . . . . 6 (x = y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)))
1613, 15eqeq12d 2051 . . . . 5 (x = y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y))))
17 oveq2 5463 . . . . . . 7 (x = suc y → (B +𝑜 x) = (B +𝑜 suc y))
1817oveq2d 5471 . . . . . 6 (x = suc y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 suc y)))
19 oveq2 5463 . . . . . . 7 (x = suc y → (A ·𝑜 x) = (A ·𝑜 suc y))
2019oveq2d 5471 . . . . . 6 (x = suc y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)))
2118, 20eqeq12d 2051 . . . . 5 (x = suc y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))
22 nna0 5992 . . . . . . . . 9 (B 𝜔 → (B +𝑜 ∅) = B)
2322adantl 262 . . . . . . . 8 ((A 𝜔 B 𝜔) → (B +𝑜 ∅) = B)
2423oveq2d 5471 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = (A ·𝑜 B))
25 nnmcl 5999 . . . . . . . 8 ((A 𝜔 B 𝜔) → (A ·𝑜 B) 𝜔)
26 nna0 5992 . . . . . . . 8 ((A ·𝑜 B) 𝜔 → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2725, 26syl 14 . . . . . . 7 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2824, 27eqtr4d 2072 . . . . . 6 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
29 nnm0 5993 . . . . . . . 8 (A 𝜔 → (A ·𝑜 ∅) = ∅)
3029adantr 261 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 ∅) = ∅)
3130oveq2d 5471 . . . . . 6 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
3228, 31eqtr4d 2072 . . . . 5 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
33 oveq1 5462 . . . . . . . . 9 ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → ((A ·𝑜 (B +𝑜 y)) +𝑜 A) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
34 nnasuc 5994 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
35343adant1 921 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
3635oveq2d 5471 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = (A ·𝑜 suc (B +𝑜 y)))
37 nnacl 5998 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 y) 𝜔)
38 nnmsuc 5995 . . . . . . . . . . . . 13 ((A 𝜔 (B +𝑜 y) 𝜔) → (A ·𝑜 suc (B +𝑜 y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
3937, 38sylan2 270 . . . . . . . . . . . 12 ((A 𝜔 (B 𝜔 y 𝜔)) → (A ·𝑜 suc (B +𝑜 y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
40393impb 1099 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc (B +𝑜 y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
4136, 40eqtrd 2069 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
42 nnmsuc 5995 . . . . . . . . . . . . 13 ((A 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
43423adant2 922 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
4443oveq2d 5471 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
45 nnmcl 5999 . . . . . . . . . . . . . . . . . 18 ((A 𝜔 y 𝜔) → (A ·𝑜 y) 𝜔)
46 nnaass 6003 . . . . . . . . . . . . . . . . . . 19 (((A ·𝑜 B) 𝜔 (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4725, 46syl3an1 1167 . . . . . . . . . . . . . . . . . 18 (((A 𝜔 B 𝜔) (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4845, 47syl3an2 1168 . . . . . . . . . . . . . . . . 17 (((A 𝜔 B 𝜔) (A 𝜔 y 𝜔) A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
49483exp 1102 . . . . . . . . . . . . . . . 16 ((A 𝜔 B 𝜔) → ((A 𝜔 y 𝜔) → (A 𝜔 → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))))
5049exp4b 349 . . . . . . . . . . . . . . 15 (A 𝜔 → (B 𝜔 → (A 𝜔 → (y 𝜔 → (A 𝜔 → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))))))
5150pm2.43a 45 . . . . . . . . . . . . . 14 (A 𝜔 → (B 𝜔 → (y 𝜔 → (A 𝜔 → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A))))))
5251com4r 80 . . . . . . . . . . . . 13 (A 𝜔 → (A 𝜔 → (B 𝜔 → (y 𝜔 → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A))))))
5352pm2.43i 43 . . . . . . . . . . . 12 (A 𝜔 → (B 𝜔 → (y 𝜔 → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))))
54533imp 1097 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
5544, 54eqtr4d 2072 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
5641, 55eqeq12d 2051 . . . . . . . . 9 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) ↔ ((A ·𝑜 (B +𝑜 y)) +𝑜 A) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A)))
5733, 56syl5ibr 145 . . . . . . . 8 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))
58573exp 1102 . . . . . . 7 (A 𝜔 → (B 𝜔 → (y 𝜔 → ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))))
5958com3r 73 . . . . . 6 (y 𝜔 → (A 𝜔 → (B 𝜔 → ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))))
6059impd 242 . . . . 5 (y 𝜔 → ((A 𝜔 B 𝜔) → ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)))))
6111, 16, 21, 32, 60finds2 4267 . . . 4 (x 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x))))
626, 61vtoclga 2613 . . 3 (𝐶 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶))))
6362expdcom 1328 . 2 (A 𝜔 → (B 𝜔 → (𝐶 𝜔 → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))))
64633imp 1097 1 ((A 𝜔 B 𝜔 𝐶 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
 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   ·𝑜 comu 5938 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  df-omul 5945 This theorem is referenced by:  nnmass  6005  nndir  6008  distrpig  6317  addcmpblnq0  6425  nnanq0  6440  distrnq0  6441  addassnq0  6444
 Copyright terms: Public domain W3C validator