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

Theorem nndi 5971
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 5435 . . . . . . 7 (x = 𝐶 → (B +𝑜 x) = (B +𝑜 𝐶))
21oveq2d 5443 . . . . . 6 (x = 𝐶 → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 𝐶)))
3 oveq2 5435 . . . . . . 7 (x = 𝐶 → (A ·𝑜 x) = (A ·𝑜 𝐶))
43oveq2d 5443 . . . . . 6 (x = 𝐶 → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
52, 4eqeq12d 2030 . . . . 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 5435 . . . . . . 7 (x = ∅ → (B +𝑜 x) = (B +𝑜 ∅))
87oveq2d 5443 . . . . . 6 (x = ∅ → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 ∅)))
9 oveq2 5435 . . . . . . 7 (x = ∅ → (A ·𝑜 x) = (A ·𝑜 ∅))
109oveq2d 5443 . . . . . 6 (x = ∅ → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
118, 10eqeq12d 2030 . . . . 5 (x = ∅ → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅))))
12 oveq2 5435 . . . . . . 7 (x = y → (B +𝑜 x) = (B +𝑜 y))
1312oveq2d 5443 . . . . . 6 (x = y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 y)))
14 oveq2 5435 . . . . . . 7 (x = y → (A ·𝑜 x) = (A ·𝑜 y))
1514oveq2d 5443 . . . . . 6 (x = y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)))
1613, 15eqeq12d 2030 . . . . 5 (x = y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y))))
17 oveq2 5435 . . . . . . 7 (x = suc y → (B +𝑜 x) = (B +𝑜 suc y))
1817oveq2d 5443 . . . . . 6 (x = suc y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 suc y)))
19 oveq2 5435 . . . . . . 7 (x = suc y → (A ·𝑜 x) = (A ·𝑜 suc y))
2019oveq2d 5443 . . . . . 6 (x = suc y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)))
2118, 20eqeq12d 2030 . . . . 5 (x = suc y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))
22 nna0 5959 . . . . . . . . 9 (B 𝜔 → (B +𝑜 ∅) = B)
2322adantl 262 . . . . . . . 8 ((A 𝜔 B 𝜔) → (B +𝑜 ∅) = B)
2423oveq2d 5443 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = (A ·𝑜 B))
25 nnmcl 5966 . . . . . . . 8 ((A 𝜔 B 𝜔) → (A ·𝑜 B) 𝜔)
26 nna0 5959 . . . . . . . 8 ((A ·𝑜 B) 𝜔 → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2725, 26syl 14 . . . . . . 7 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2824, 27eqtr4d 2051 . . . . . 6 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
29 nnm0 5960 . . . . . . . 8 (A 𝜔 → (A ·𝑜 ∅) = ∅)
3029adantr 261 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 ∅) = ∅)
3130oveq2d 5443 . . . . . 6 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
3228, 31eqtr4d 2051 . . . . 5 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
33 oveq1 5434 . . . . . . . . 9 ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → ((A ·𝑜 (B +𝑜 y)) +𝑜 A) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
34 nnasuc 5961 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
35343adant1 906 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
3635oveq2d 5443 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = (A ·𝑜 suc (B +𝑜 y)))
37 nnacl 5965 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 y) 𝜔)
38 nnmsuc 5962 . . . . . . . . . . . . 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 1083 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc (B +𝑜 y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
4136, 40eqtrd 2048 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
42 nnmsuc 5962 . . . . . . . . . . . . 13 ((A 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
43423adant2 907 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
4443oveq2d 5443 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
45 nnmcl 5966 . . . . . . . . . . . . . . . . . 18 ((A 𝜔 y 𝜔) → (A ·𝑜 y) 𝜔)
46 nnaass 5970 . . . . . . . . . . . . . . . . . . 19 (((A ·𝑜 B) 𝜔 (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4725, 46syl3an1 1151 . . . . . . . . . . . . . . . . . 18 (((A 𝜔 B 𝜔) (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4845, 47syl3an2 1152 . . . . . . . . . . . . . . . . 17 (((A 𝜔 B 𝜔) (A 𝜔 y 𝜔) A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
49483exp 1086 . . . . . . . . . . . . . . . 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 1081 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
5544, 54eqtr4d 2051 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
5641, 55eqeq12d 2030 . . . . . . . . 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 1086 . . . . . . 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 4242 . . . 4 (x 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x))))
626, 61vtoclga 2590 . . 3 (𝐶 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶))))
6362expdcom 1307 . 2 (A 𝜔 → (B 𝜔 → (𝐶 𝜔 → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))))
64633imp 1081 1 ((A 𝜔 B 𝜔 𝐶 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
Colors of variables: wff set class
Syntax hints:  wi 4   wa 97   w3a 869   = wceq 1226   wcel 1369  c0 3195  suc csuc 4043  𝜔com 4231  (class class class)co 5427   +𝑜 coa 5904   ·𝑜 comu 5905
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 529  ax-in2 530  ax-io 614  ax-5 1312  ax-7 1313  ax-gen 1314  ax-ie1 1358  ax-ie2 1359  ax-8 1371  ax-10 1372  ax-11 1373  ax-i12 1374  ax-bnd 1375  ax-4 1376  ax-13 1380  ax-14 1381  ax-17 1395  ax-i9 1399  ax-ial 1403  ax-i5r 1404  ax-ext 1998  ax-coll 3838  ax-sep 3841  ax-nul 3849  ax-pow 3893  ax-pr 3910  ax-un 4111  ax-setind 4195  ax-iinf 4229
This theorem depends on definitions:  df-bi 110  df-3an 871  df-tru 1229  df-fal 1232  df-nf 1326  df-sb 1622  df-eu 1879  df-mo 1880  df-clab 2003  df-cleq 2009  df-clel 2012  df-nfc 2143  df-ne 2182  df-ral 2283  df-rex 2284  df-reu 2285  df-rab 2287  df-v 2531  df-sbc 2736  df-csb 2824  df-dif 2891  df-un 2893  df-in 2895  df-ss 2902  df-nul 3196  df-pw 3328  df-sn 3348  df-pr 3349  df-op 3351  df-uni 3547  df-int 3582  df-iun 3625  df-br 3731  df-opab 3785  df-mpt 3786  df-tr 3821  df-id 3996  df-iord 4044  df-on 4046  df-suc 4049  df-iom 4232  df-xp 4269  df-rel 4270  df-cnv 4271  df-co 4272  df-dm 4273  df-rn 4274  df-res 4275  df-ima 4276  df-iota 4785  df-fun 4822  df-fn 4823  df-f 4824  df-f1 4825  df-fo 4826  df-f1o 4827  df-fv 4828  df-ov 5430  df-oprab 5431  df-mpt2 5432  df-1st 5681  df-2nd 5682  df-recs 5833  df-irdg 5869  df-oadd 5911  df-omul 5912
This theorem is referenced by:  nnmass  5972  nndir  5975  distrpig  6182  addcmpblnq0  6287  nnanq0  6302  distrnq0  6303  addassnq0  6306
  Copyright terms: Public domain W3C validator