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

Theorem odi 4210
Description: Distributive law for ordinal arithmetic. Proposition 8.25 of [TakeutiZaring] p. 64. Warning: The HTML proof page is 3/4 megabyte in size.
Assertion
Ref Expression
odi |- ((A e. On /\ B e. On /\ C e. On) -> (A .o (B +o C)) = ((A .o B) +o (A .o C)))

Proof of Theorem odi
StepHypRef Expression
1 opreq2 3969 . . . . . . 7 |- (x = (/) -> (B +o x) = (B +o (/)))
21opreq2d 3976 . . . . . 6 |- (x = (/) -> (A .o (B +o x)) = (A .o (B +o (/))))
3 opreq2 3969 . . . . . . 7 |- (x = (/) -> (A .o x) = (A .o (/)))
43opreq2d 3976 . . . . . 6 |- (x = (/) -> ((A .o B) +o (A .o x)) = ((A .o B) +o (A .o (/))))
52, 4eqeq12d 1489 . . . . 5 |- (x = (/) -> ((A .o (B +o x)) = ((A .o B) +o (A .o x)) <-> (A .o (B +o (/))) = ((A .o B) +o (A .o (/)))))
6 opreq2 3969 . . . . . . 7 |- (x = y -> (B +o x) = (B +o y))
76opreq2d 3976 . . . . . 6 |- (x = y -> (A .o (B +o x)) = (A .o (B +o y)))
8 opreq2 3969 . . . . . . 7 |- (x = y -> (A .o x) = (A .o y))
98opreq2d 3976 . . . . . 6 |- (x = y -> ((A .o B) +o (A .o x)) = ((A .o B) +o (A .o y)))
107, 9eqeq12d 1489 . . . . 5 |- (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))))
11 opreq2 3969 . . . . . . 7 |- (x = suc y -> (B +o x) = (B +o suc y))
1211opreq2d 3976 . . . . . 6 |- (x = suc y -> (A .o (B +o x)) = (A .o (B +o suc y)))
13 opreq2 3969 . . . . . . 7 |- (x = suc y -> (A .o x) = (A .o suc y))
1413opreq2d 3976 . . . . . 6 |- (x = suc y -> ((A .o B) +o (A .o x)) = ((A .o B) +o (A .o suc y)))
1512, 14eqeq12d 1489 . . . . 5 |- (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))))
16 opreq2 3969 . . . . . . 7 |- (x = C -> (B +o x) = (B +o C))
1716opreq2d 3976 . . . . . 6 |- (x = C -> (A .o (B +o x)) = (A .o (B +o C)))
18 opreq2 3969 . . . . . . 7 |- (x = C -> (A .o x) = (A .o C))
1918opreq2d 3976 . . . . . 6 |- (x = C -> ((A .o B) +o (A .o x)) = ((A .o B) +o (A .o C)))
2017, 19eqeq12d 1489 . . . . 5 |- (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))))
21 omcl 4171 . . . . . . 7 |- ((A e. On /\ B e. On) -> (A .o B) e. On)
22 oa0 4155 . . . . . . 7 |- ((A .o B) e. On -> ((A .o B) +o (/)) = (A .o B))
2321, 22syl 10 . . . . . 6 |- ((A e. On /\ B e. On) -> ((A .o B) +o (/)) = (A .o B))
24 om0 4156 . . . . . . . 8 |- (A e. On -> (A .o (/)) = (/))
2524adantr 389 . . . . . . 7 |- ((A e. On /\ B e. On) -> (A .o (/)) = (/))
2625opreq2d 3976 . . . . . 6 |- ((A e. On /\ B e. On) -> ((A .o B) +o (A .o (/))) = ((A .o B) +o (/)))
27 oa0 4155 . . . . . . . 8 |- (B e. On -> (B +o (/)) = B)
2827adantl 388 . . . . . . 7 |- ((A e. On /\ B e. On) -> (B +o (/)) = B)
2928opreq2d 3976 . . . . . 6 |- ((A e. On /\ B e. On) -> (A .o (B +o (/))) = (A .o B))
3023, 26, 293eqtr4rd 1518 . . . . 5 |- ((A e. On /\ B e. On) -> (A .o (B +o (/))) = ((A .o B) +o (A .o (/))))
31 oasuc 4163 . . . . . . . . . . . . 13 |- ((B e. On /\ y e. On) -> (B +o suc y) = suc (B +o y))
32313adant1 797 . . . . . . . . . . . 12 |- ((A e. On /\ B e. On /\ y e. On) -> (B +o suc y) = suc (B +o y))
3332opreq2d 3976 . . . . . . . . . . 11 |- ((A e. On /\ B e. On /\ y e. On) -> (A .o (B +o suc y)) = (A .o suc (B +o y)))
34 omsuc 4165 . . . . . . . . . . . . 13 |- ((A e. On /\ (B +o y) e. On) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
35 oacl 4170 . . . . . . . . . . . . 13 |- ((B e. On /\ y e. On) -> (B +o y) e. On)
3634, 35sylan2 451 . . . . . . . . . . . 12 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
37363impb 829 . . . . . . . . . . 11 |- ((A e. On /\ B e. On /\ y e. On) -> (A .o suc (B +o y)) = ((A .o (B +o y)) +o A))
3833, 37eqtrd 1507 . . . . . . . . . 10 |- ((A e. On /\ B e. On /\ y e. On) -> (A .o (B +o suc y)) = ((A .o (B +o y)) +o A))
39 omsuc 4165 . . . . . . . . . . . . 13 |- ((A e. On /\ y e. On) -> (A .o suc y) = ((A .o y) +o A))
40393adant2 798 . . . . . . . . . . . 12 |- ((A e. On /\ B e. On /\ y e. On) -> (A .o suc y) = ((A .o y) +o A))
4140opreq2d 3976 . . . . . . . . . . 11 |- ((A e. On /\ B e. On /\ y e. On) -> ((A .o B) +o (A .o suc y)) = ((A .o B) +o ((A .o y) +o A)))
42 oaass 4195 . . . . . . . . . . . . . . . . . . 19 |- (((A .o B) e. On /\ (A .o y) e. On /\ A e. On) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
4342, 21syl3an1 859 . . . . . . . . . . . . . . . . . 18 |- (((A e. On /\ B e. On) /\ (A .o y) e. On /\ A e. On) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
44 omcl 4171 . . . . . . . . . . . . . . . . . 18 |- ((A e. On /\ y e. On) -> (A .o y) e. On)
4543, 44syl3an2 860 . . . . . . . . . . . . . . . . 17 |- (((A e. On /\ B e. On) /\ (A e. On /\ y e. On) /\ A e. On) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
46453exp 832 . . . . . . . . . . . . . . . 16 |- ((A e. On /\ B e. On) -> ((A e. On /\ y e. On) -> (A e. On -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))))
4746exp4b 379 . . . . . . . . . . . . . . 15 |- (A e. On -> (B e. On -> (A e. On -> (y e. On -> (A e. On -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))))))
4847pm2.43a 66 . . . . . . . . . . . . . 14 |- (A e. On -> (B e. On -> (y e. On -> (A e. On -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A))))))
4948com4r 41 . . . . . . . . . . . . 13 |- (A e. On -> (A e. On -> (B e. On -> (y e. On -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A))))))
5049pm2.43i 64 . . . . . . . . . . . 12 |- (A e. On -> (B e. On -> (y e. On -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))))
51503imp 827 . . . . . . . . . . 11 |- ((A e. On /\ B e. On /\ y e. On) -> (((A .o B) +o (A .o y)) +o A) = ((A .o B) +o ((A .o y) +o A)))
5241, 51eqtr4d 1510 . . . . . . . . . 10 |- ((A e. On /\ B e. On /\ y e. On) -> ((A .o B) +o (A .o suc y)) = (((A .o B) +o (A .o y)) +o A))
5338, 52eqeq12d 1489 . . . . . . . . 9 |- ((A e. On /\ B e. On /\ y e. On) -> ((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)))
54 opreq1 3968 . . . . . . . . 9 |- ((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))
5553, 54syl5bir 210 . . . . . . . 8 |- ((A