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

Theorem oaass 4179
Description: Ordinal addition is associative. Theorem 25 of [Suppes] p. 211.
Assertion
Ref Expression
oaass |- ((A e. On /\ B e. On /\ C e. On) -> ((A +o B) +o C) = (A +o (B +o C)))

Proof of Theorem oaass
StepHypRef Expression
1 opreq2 3954 . . . . 5 |- (x = (/) -> ((A +o B) +o x) = ((A +o B) +o (/)))
2 opreq2 3954 . . . . . 6 |- (x = (/) -> (B +o x) = (B +o (/)))
32opreq2d 3961 . . . . 5 |- (x = (/) -> (A +o (B +o x)) = (A +o (B +o (/))))
41, 3eqeq12d 1481 . . . 4 |- (x = (/) -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o (/)) = (A +o (B +o (/)))))
5 opreq2 3954 . . . . 5 |- (x = y -> ((A +o B) +o x) = ((A +o B) +o y))
6 opreq2 3954 . . . . . 6 |- (x = y -> (B +o x) = (B +o y))
76opreq2d 3961 . . . . 5 |- (x = y -> (A +o (B +o x)) = (A +o (B +o y)))
85, 7eqeq12d 1481 . . . 4 |- (x = y -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o y) = (A +o (B +o y))))
9 opreq2 3954 . . . . 5 |- (x = suc y -> ((A +o B) +o x) = ((A +o B) +o suc y))
10 opreq2 3954 . . . . . 6 |- (x = suc y -> (B +o x) = (B +o suc y))
1110opreq2d 3961 . . . . 5 |- (x = suc y -> (A +o (B +o x)) = (A +o (B +o suc y)))
129, 11eqeq12d 1481 . . . 4 |- (x = suc y -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o suc y) = (A +o (B +o suc y))))
13 opreq2 3954 . . . . 5 |- (x = C -> ((A +o B) +o x) = ((A +o B) +o C))
14 opreq2 3954 . . . . . 6 |- (x = C -> (B +o x) = (B +o C))
1514opreq2d 3961 . . . . 5 |- (x = C -> (A +o (B +o x)) = (A +o (B +o C)))
1613, 15eqeq12d 1481 . . . 4 |- (x = C -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o C) = (A +o (B +o C))))
17 oacl 4154 . . . . . 6 |- ((A e. On /\ B e. On) -> (A +o B) e. On)
18 oa0 4139 . . . . . 6 |- ((A +o B) e. On -> ((A +o B) +o (/)) = (A +o B))
1917, 18syl 10 . . . . 5 |- ((A e. On /\ B e. On) -> ((A +o B) +o (/)) = (A +o B))
20 oa0 4139 . . . . . . 7 |- (B e. On -> (B +o (/)) = B)
2120opreq2d 3961 . . . . . 6 |- (B e. On -> (A +o (B +o (/))) = (A +o B))
2221adantl 388 . . . . 5 |- ((A e. On /\ B e. On) -> (A +o (B +o (/))) = (A +o B))
2319, 22eqtr4d 1502 . . . 4 |- ((A e. On /\ B e. On) -> ((A +o B) +o (/)) = (A +o (B +o (/))))
24 oasuc 4147 . . . . . . . 8 |- (((A +o B) e. On /\ y e. On) -> ((A +o B) +o suc y) = suc ((A +o B) +o y))
2524, 17sylan 448 . . . . . . 7 |- (((A e. On /\ B e. On) /\ y e. On) -> ((A +o B) +o suc y) = suc ((A +o B) +o y))
26 oasuc 4147 . . . . . . . . . . 11 |- ((B e. On /\ y e. On) -> (B +o suc y) = suc (B +o y))
2726opreq2d 3961 . . . . . . . . . 10 |- ((B e. On /\ y e. On) -> (A +o (B +o suc y)) = (A +o suc (B +o y)))
2827adantl 388 . . . . . . . . 9 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o (B +o suc y)) = (A +o suc (B +o y)))
29 oasuc 4147 . . . . . . . . . 10 |- ((A e. On /\ (B +o y) e. On) -> (A +o suc (B +o y)) = suc (A +o (B +o y)))
30 oacl 4154 . . . . . . . . . 10 |- ((B e. On /\ y e. On) -> (B +o y) e. On)
3129, 30sylan2 451 . . . . . . . . 9 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o suc (B +o y)) = suc (A +o (B +o y)))
3228, 31eqtrd 1499 . . . . . . . 8 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o (B +o suc y)) = suc (A +o (B +o y)))
3332anassrs 441 . . . . . . 7 |- (((A e. On /\ B e. On) /\ y e. On) -> (A +o (B +o suc y)) = suc (A +o (B +o y)))
3425, 33eqeq12d 1481 . . . . . 6 |- (((A e. On /\ B e. On) /\ y e. On) -> (((A +o B) +o suc y) = (A +o (B +o suc y)) <-> suc ((A +o B) +o y) = suc (A +o (B +o y))))
35 suceq 3024 . . . . . 6 |- (((A +o B) +o y) = (A +o (B +o y)) -> suc ((A +o B) +o y) = suc (A +o (B +o y)))
3634, 35syl5bir 210 . . . . 5 |- (((A e. On /\ B e. On) /\ y e. On) -> (((A +o B) +o y) = (A +o (B +o y)) -> ((A +o B) +o suc y) = (A +o (B +o suc y))))
3736expcom 374 . . . 4 |- (y e. On -> ((A e. On /\ B e. On) -> (((A +o B) +o y) = (A +o (B +o y)) -> ((A +o B) +o suc y) = (A +o (B +o suc y)))))
38 iuneq2 2568 . . . . . . 7 |- (A.y e. x ((A +o B) +o y) = (A +o (B +o y)) -> U_y e. x ((A +o B) +o y) = U_y e. x (A +o (B +o y)))
3938adantl 388 . . . . . 6 |- (((Lim x /\ (A e. On /\ B e. On)) /\ A.y e. x ((A +o B) +o y) = (A +o (B +o y))) -> U_y e. x ((A +o B) +o y) = U_y e. x (A +o (B +o y)))
40 visset 1804 . . . . . . . . . 10 |- x e. V
41 oalim 4151 . . . . . . . . . 10 |- (((A +o B) e. On /\ (x e. V /\ Lim x)) -> ((A +o B) +o x) = U_y e. x ((A +o B) +o y))
4240, 41mpanr1 707 . . . . . . . . 9 |- (((A +o B) e. On /\ Lim x) -> ((A +o B) +o x) = U_y e. x ((A +o B) +o y))
4342, 17sylan 448 . . . . . . . 8 |- (((A e. On /\ B e. On) /\ Lim x) -> ((A +o B) +o x) = U_y e. x ((A +o B) +o y))
4443ancoms 436 . . . . . . 7 |- ((Lim x /\ (A e. On /\ B e. On)) -> ((A +o B) +o x) = U_y e. x ((A +o B) +o y))
4544adantr 389 . . . . . 6 |- (((Lim x /\ (A e. On /\ B e. On)) /\ A.y e. x ((A +o B) +o y) = (A +o (B +o y))) -> ((A +o B) +o x) = U_y e. x ((A +o B) +o y))
46 oprex 3968 . . . . . . . . . . 11 |- (B +o x) e. V
47 oalim 4151 . . . . . . . . . . 11 |- ((A e. On /\ ((B +o x) e. V /\ Lim (B +o x))) -> (A +o (B +o x)) = U_z e. (B +o x)(A +o z))
4846, 47mpanr1 707 . . . . . . . . . 10 |- ((A e. On /\ Lim (B +o x)) -> (A +o (B +o x)) = U_z e. (B +o x)(A +o z))
49 oalimcl 4178 . . . . . . . . . . . 12 |- ((B e. On /\ (x e. V /\ Lim x)) -> Lim (B +o x))
5040, 49mpanr1 707 . . . . . . . . . . 11 |- ((B e. On /\ Lim x) -> Lim (B +o x))
5150ancoms 436 . . . . . . . . . 10 |- ((Lim x /\ B e. On) -> Lim (B +o x))
5248, 51sylan2 451 . . . . . . . . 9 |- ((A e. On /\ (Lim x /\ B e. On)) -> (A +o (B +o x)) = U_z e. (B +o x)(A +o z))
53 limelon 3022 . . . . . . . . . . . . . . . . 17 |- ((x e. V /\ Lim x) -> x e. On)
5440, 53mpan 693 . . . . . . . . . . . . . . . 16 |- (Lim x -> x e. On)
55 oacl 4154 . . . . . . . . . . . . . . . . . . . . . 22 |- ((B e. On /\ x e. On) -> (B +o x) e. On)
5655ancoms 436 . . . . . . . . . . . . . . . . . . . . 21 |- ((x e. On /\ B e. On) -> (B +o x) e. On)
57 onelon 2962 . . . . . . . . . . . . . . . . . . . . . 22 |- (((B +o x) e. On /\ z e. (B +o x)) -> z e. On)
5857ex 373 . . . . . . . . . . . . . . . . . . . . 21 |- ((B +o x) e. On -> (z e. (B +o x) -> z e. On))
5956, 58syl 10 . . . . . . . . . . . . . . . . . . . 20 |- ((x e. On /\ B e. On) -> (z e. (B +o x) -> z e. On))
6059adantld 390 . . . . . . . . . . . . . . . . . . 19 |- ((x e. On /\ B e. On) -> ((A e. On /\ z e. (B +o x)) -> z e. On))
6160adantl 388 . . . . . . . . . . . . . . . . . 18 |- ((