HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode 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 e. om /\ B e. om /\ C e. om) -> (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 e. om /\ B e. om) -> (A .o (B +o x)) = ((A .o B) +o (A .o x))) <-> ((A e. om /\ B e. om) -> (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 e. om /\ B e. om) -> (A .o (B +o x)) = ((A .o B) +o (A .o x))) <-> ((A e. om /\ B e. om) -> (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 e. om /\ B e. om) -> (A .o (B +o x)) = ((A .o B) +o (A .o x))) <-> ((A e. om /\ B e. om) -> (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 e. om /\ B e. om) -> (A .o (B +o x)) = ((A .o B) +o (A .o x))) <-> ((A e. om /\ B e. om) -> (A .o (B +o C)) = ((A .o B) +o (A .o C)))))
25 nnmcl 3173 . . . . . . 7 |- ((A e. om /\ B e. om) -> (A .o B) e. om)
26 nna0 3166 . . . . . . 7 |- ((A .o B) e. om -> ((A .o B) +o (/)) = (A .o B))
2725, 26syl 12 . . . . . 6 |- ((A e. om /\ B e. om) -> ((A .o B) +o (/)) = (A .o B))
28 pm3.26 256 . . . . . . . 8 |- ((A e. om /\ B e. om) -> A e. om)
29 nnont 2379 . . . . . . . 8 |- (A e. om -> A e. On)
30 om0 3125 . . . . . . . 8 |- (A e. On -> (A .o (/)) = (/))
3128, 29, 303syl 21 . . . . . . 7 |- ((A e. om /\ B e. om) -> (A .o (/)) = (/))
3231opreq2d 3013 . . . . . 6 |- ((A e. om /\ B e. om) -> ((A .o B) +o (A .o (/))) = ((A .o B) +o (/)))
33 nna0 3166 . . . . . . . 8 |- (B e. om -> (B +o (/)) = B)
3433adantl 305 . . . . . . 7 |- ((A e. om /\ B e. om) -> (B +o (/)) = B)
3534opreq2d 3013 . . . . . 6 |- ((A e. om /\ B e. om) -> (A .o (B +o (/))) = (A .o B))
3627, 32, 353eqtr4rd 1135 . . . . 5 |- ((A e. om /\ B e. om) -> (A .o (B +o (/))) = ((A .o B) +o (A .o (/))))
37 nnasuc 3168 . . . . . . . . . . . . . 14 |- ((B e. om /\ y e. om) -> (B +o suc y) = suc (B +o y))
38373adant1 597 . . . . . . . . . . . . 13 |- ((A e. om /\ B e. om /\ y e. om) -> (B +o suc y) = suc (B +o y))
3938opreq2d 3013 . . . . . . . . . . . 12 |- ((A e. om /\ B e. om /\ y e. om) -> (A .o (B +o suc y)) = (A .o suc (B +o y)))
40 nnmsuc 3169 . . . . . . . . . . . . . 14 |- ((A e. om /\ (B +o y) e. om) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
41 nnacl 3172 . . . . . . . . . . . . . 14 |- ((B e. om /\ y e. om) -> (B +o y) e. om)
4240, 41sylan2 346 . . . . . . . . . . . . 13 |- ((A e. om /\ (B e. om /\ y e. om)) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
43423impb 610 . . . . . . . . . . . 12 |- ((A e. om /\ B e. om /\ y e. om) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
4439, 43eqtrd 1128 . . . . . . . . . . 11 |- ((A e. om /\ B e. om /\ y e. om) -> (A .o (B +o suc y)) = ((A .o (B +o y)) +o A))
45 nnmsuc 3169 . . . . . . . . . . . . . 14 |- ((A e. om /\ y e. om) -> (A .o suc y) = ((A .o y) +o A))
46453adant2 598 . . . . . . . . . . . . 13 |- ((A e. om /\ B e. om /\ y e. om) -> (A .o suc y) = ((A .o y) +o A))
4746opreq2d 3013 . . . . . . . . . . . 12 |- ((A e. om /\ B e. om /\ y e. om) -> ((A .o B) +o (A .o suc y)) = ((A .o B) +o ((A .o y) +o A)))
48 nnaass 3179 . . . . . . . . . . . . . . . . . . . 20 |- (((A .o B) e. om /\ (A .o y) e. om /\ A e. om) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
4948, 25syl3an1 619 . . . . . . . . . . . . . . . . . . 19 |- (((A e. om /\ B e. om) /\ (A .o y) e. om /\ A e. om) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
50 nnmcl 3173 . . . . . . . . . . . . . . . . . . 19 |- ((A e. om /\ y e. om) -> (A .o y) e. om)
5149, 50syl3an2 620 . . . . . . . . . . . . . . . . . 18 |- (((A e. om /\ B e. om) /\ (A e. om /\ y e. om) /\ A e. om) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
52513exp 611 . . . . . . . . . . . . . . . . 17 |- ((A e. om /\ B e. om) -> ((A e. om /\ y e. om) -> (A e. om -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))))
5352exp4b 296 . . . . . . . . . . . . . . . 16 |- (A e. om -> (B e. om -> (A e. om -> (y e. om -> (A e. om -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))))))
5453pm2.43a 60 . . . . . . . . . . . . . . 15 |- (A e. om -> (B e. om -> (y e. om -> (A e. om -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A))))))
5554com4r 41 . . . . . . . . . . . . . 14 |- (A e. om -> (A e. om -> (B e. om -> (y e. om -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((