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

Theorem nndi 5976
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 5440 . . . . . . 7 (x = 𝐶 → (B +𝑜 x) = (B +𝑜 𝐶))
21oveq2d 5448 . . . . . 6 (x = 𝐶 → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 𝐶)))
3 oveq2 5440 . . . . . . 7 (x = 𝐶 → (A ·𝑜 x) = (A ·𝑜 𝐶))
43oveq2d 5448 . . . . . 6 (x = 𝐶 → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
52, 4eqeq12d 2032 . . . . 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 5440 . . . . . . 7 (x = ∅ → (B +𝑜 x) = (B +𝑜 ∅))
87oveq2d 5448 . . . . . 6 (x = ∅ → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 ∅)))
9 oveq2 5440 . . . . . . 7 (x = ∅ → (A ·𝑜 x) = (A ·𝑜 ∅))
109oveq2d 5448 . . . . . 6 (x = ∅ → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
118, 10eqeq12d 2032 . . . . 5 (x = ∅ → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅))))
12 oveq2 5440 . . . . . . 7 (x = y → (B +𝑜 x) = (B +𝑜 y))
1312oveq2d 5448 . . . . . 6 (x = y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 y)))
14 oveq2 5440 . . . . . . 7 (x = y → (A ·𝑜 x) = (A ·𝑜 y))
1514oveq2d 5448 . . . . . 6 (x = y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)))
1613, 15eqeq12d 2032 . . . . 5 (x = y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y))))
17 oveq2 5440 . . . . . . 7 (x = suc y → (B +𝑜 x) = (B +𝑜 suc y))
1817oveq2d 5448 . . . . . 6 (x = suc y → (A ·𝑜 (B +𝑜 x)) = (A ·𝑜 (B +𝑜 suc y)))
19 oveq2 5440 . . . . . . 7 (x = suc y → (A ·𝑜 x) = (A ·𝑜 suc y))
2019oveq2d 5448 . . . . . 6 (x = suc y → ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)))
2118, 20eqeq12d 2032 . . . . 5 (x = suc y → ((A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x)) ↔ (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y))))
22 nna0 5964 . . . . . . . . 9 (B 𝜔 → (B +𝑜 ∅) = B)
2322adantl 262 . . . . . . . 8 ((A 𝜔 B 𝜔) → (B +𝑜 ∅) = B)
2423oveq2d 5448 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = (A ·𝑜 B))
25 nnmcl 5971 . . . . . . . 8 ((A 𝜔 B 𝜔) → (A ·𝑜 B) 𝜔)
26 nna0 5964 . . . . . . . 8 ((A ·𝑜 B) 𝜔 → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2725, 26syl 14 . . . . . . 7 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 ∅) = (A ·𝑜 B))
2824, 27eqtr4d 2053 . . . . . 6 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
29 nnm0 5965 . . . . . . . 8 (A 𝜔 → (A ·𝑜 ∅) = ∅)
3029adantr 261 . . . . . . 7 ((A 𝜔 B 𝜔) → (A ·𝑜 ∅) = ∅)
3130oveq2d 5448 . . . . . 6 ((A 𝜔 B 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)) = ((A ·𝑜 B) +𝑜 ∅))
3228, 31eqtr4d 2053 . . . . 5 ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 ∅)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 ∅)))
33 oveq1 5439 . . . . . . . . 9 ((A ·𝑜 (B +𝑜 y)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 y)) → ((A ·𝑜 (B +𝑜 y)) +𝑜 A) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
34 nnasuc 5966 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
35343adant1 908 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (B +𝑜 suc y) = suc (B +𝑜 y))
3635oveq2d 5448 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = (A ·𝑜 suc (B +𝑜 y)))
37 nnacl 5970 . . . . . . . . . . . . 13 ((B 𝜔 y 𝜔) → (B +𝑜 y) 𝜔)
38 nnmsuc 5967 . . . . . . . . . . . . 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 1084 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc (B +𝑜 y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
4136, 40eqtrd 2050 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 (B +𝑜 suc y)) = ((A ·𝑜 (B +𝑜 y)) +𝑜 A))
42 nnmsuc 5967 . . . . . . . . . . . . 13 ((A 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
43423adant2 909 . . . . . . . . . . . 12 ((A 𝜔 B 𝜔 y 𝜔) → (A ·𝑜 suc y) = ((A ·𝑜 y) +𝑜 A))
4443oveq2d 5448 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
45 nnmcl 5971 . . . . . . . . . . . . . . . . . 18 ((A 𝜔 y 𝜔) → (A ·𝑜 y) 𝜔)
46 nnaass 5975 . . . . . . . . . . . . . . . . . . 19 (((A ·𝑜 B) 𝜔 (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4725, 46syl3an1 1152 . . . . . . . . . . . . . . . . . 18 (((A 𝜔 B 𝜔) (A ·𝑜 y) 𝜔 A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
4845, 47syl3an2 1153 . . . . . . . . . . . . . . . . 17 (((A 𝜔 B 𝜔) (A 𝜔 y 𝜔) A 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
49483exp 1087 . . . . . . . . . . . . . . . 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 1082 . . . . . . . . . . 11 ((A 𝜔 B 𝜔 y 𝜔) → (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A) = ((A ·𝑜 B) +𝑜 ((A ·𝑜 y) +𝑜 A)))
5544, 54eqtr4d 2053 . . . . . . . . . 10 ((A 𝜔 B 𝜔 y 𝜔) → ((A ·𝑜 B) +𝑜 (A ·𝑜 suc y)) = (((A ·𝑜 B) +𝑜 (A ·𝑜 y)) +𝑜 A))
5641, 55eqeq12d 2032 . . . . . . . . 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 1087 . . . . . . 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 4247 . . . 4 (x 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 x)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 x))))
626, 61vtoclga 2592 . . 3 (𝐶 𝜔 → ((A 𝜔 B 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶))))
6362expdcom 1307 . 2 (A 𝜔 → (B 𝜔 → (𝐶 𝜔 → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))))
64633imp 1082 1 ((A 𝜔 B 𝜔 𝐶 𝜔) → (A ·𝑜 (B +𝑜 𝐶)) = ((A ·𝑜 B) +𝑜 (A ·𝑜 𝐶)))
Colors of variables: wff set class
Syntax hints:  wi 4   wa 97   w3a 871   = wceq 1226   wcel 1370  c0 3197  suc csuc 4047  𝜔com 4236  (class class class)co 5432   +𝑜 coa 5909   ·𝑜 comu 5910
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 532  ax-in2 533  ax-io 617  ax-5 1312  ax-7 1313  ax-gen 1314  ax-ie1 1359  ax-ie2 1360  ax-8 1372  ax-10 1373  ax-11 1374  ax-i12 1375  ax-bnd 1376  ax-4 1377  ax-13 1381  ax-14 1382  ax-17 1396  ax-i9 1400  ax-ial 1405  ax-i5r 1406  ax-ext 2000  ax-coll 3842  ax-sep 3845  ax-nul 3853  ax-pow 3897  ax-pr 3914  ax-un 4116  ax-setind 4200  ax-iinf 4234
This theorem depends on definitions:  df-bi 110  df-3an 873  df-tru 1229  df-fal 1232  df-nf 1326  df-sb 1624  df-eu 1881  df-mo 1882  df-clab 2005  df-cleq 2011  df-clel 2014  df-nfc 2145  df-ne 2184  df-ral 2285  df-rex 2286  df-reu 2287  df-rab 2289  df-v 2533  df-sbc 2738  df-csb 2826  df-dif 2893  df-un 2895  df-in 2897  df-ss 2904  df-nul 3198  df-pw 3332  df-sn 3352  df-pr 3353  df-op 3355  df-uni 3551  df-int 3586  df-iun 3629  df-br 3735  df-opab 3789  df-mpt 3790  df-tr 3825  df-id 4000  df-iord 4048  df-on 4050  df-suc 4053  df-iom 4237  df-xp 4274  df-rel 4275  df-cnv 4276  df-co 4277  df-dm 4278  df-rn 4279  df-res 4280  df-ima 4281  df-iota 4790  df-fun 4827  df-fn 4828  df-f 4829  df-f1 4830  df-fo 4831  df-f1o 4832  df-fv 4833  df-ov 5435  df-oprab 5436  df-mpt2 5437  df-1st 5686  df-2nd 5687  df-recs 5838  df-irdg 5874  df-oadd 5916  df-omul 5917
This theorem is referenced by:  nnmass  5977  nndir  5980  distrpig  6187  addcmpblnq0  6292  nnanq0  6307  distrnq0  6308  addassnq0  6311
  Copyright terms: Public domain W3C validator