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

Theorem oaass 3163
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 3007 . . . . . 6 |- (x = (/) -> ((A +o B) +o x) = ((A +o B) +o (/)))
2 opreq2 3007 . . . . . . 7 |- (x = (/) -> (B +o x) = (B +o (/)))
32opreq2d 3013 . . . . . 6 |- (x = (/) -> (A +o (B +o x)) = (A +o (B +o (/))))
41, 3cleq12d 1115 . . . . 5 |- (x = (/) -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o (/)) = (A +o (B +o (/)))))
5 opreq2 3007 . . . . . 6 |- (x = y -> ((A +o B) +o x) = ((A +o B) +o y))
6 opreq2 3007 . . . . . . 7 |- (x = y -> (B +o x) = (B +o y))
76opreq2d 3013 . . . . . 6 |- (x = y -> (A +o (B +o x)) = (A +o (B +o y)))
85, 7cleq12d 1115 . . . . 5 |- (x = y -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o y) = (A +o (B +o y))))
9 opreq2 3007 . . . . . 6 |- (x = suc y -> ((A +o B) +o x) = ((A +o B) +o suc y))
10 opreq2 3007 . . . . . . 7 |- (x = suc y -> (B +o x) = (B +o suc y))
1110opreq2d 3013 . . . . . 6 |- (x = suc y -> (A +o (B +o x)) = (A +o (B +o suc y)))
129, 11cleq12d 1115 . . . . 5 |- (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 3007 . . . . . 6 |- (x = C -> ((A +o B) +o x) = ((A +o B) +o C))
14 opreq2 3007 . . . . . . 7 |- (x = C -> (B +o x) = (B +o C))
1514opreq2d 3013 . . . . . 6 |- (x = C -> (A +o (B +o x)) = (A +o (B +o C)))
1613, 15cleq12d 1115 . . . . 5 |- (x = C -> (((A +o B) +o x) = (A +o (B +o x)) <-> ((A +o B) +o C) = (A +o (B +o C))))
17 oacl 3138 . . . . . . 7 |- ((A e. On /\ B e. On) -> (A +o B) e. On)
18 oa0 3124 . . . . . . 7 |- ((A +o B) e. On -> ((A +o B) +o (/)) = (A +o B))
1917, 18syl 12 . . . . . 6 |- ((A e. On /\ B e. On) -> ((A +o B) +o (/)) = (A +o B))
20 oa0 3124 . . . . . . . 8 |- (B e. On -> (B +o (/)) = B)
2120opreq2d 3013 . . . . . . 7 |- (B e. On -> (A +o (B +o (/))) = (A +o B))
2221adantl 305 . . . . . 6 |- ((A e. On /\ B e. On) -> (A +o (B +o (/))) = (A +o B))
2319, 22eqtr4d 1131 . . . . 5 |- ((A e. On /\ B e. On) -> ((A +o B) +o (/)) = (A +o (B +o (/))))
24 oasuc 3131 . . . . . . . . . 10 |- (((A +o B) e. On /\ y e. On) -> ((A +o B) +o suc y) = suc ((A +o B) +o y))
2524, 17sylan 343 . . . . . . . . 9 |- (((A e. On /\ B e. On) /\ y e. On) -> ((A +o B) +o suc y) = suc ((A +o B) +o y))
26 oasuc 3131 . . . . . . . . . . . . 13 |- ((B e. On /\ y e. On) -> (B +o suc y) = suc (B +o y))
2726opreq2d 3013 . . . . . . . . . . . 12 |- ((B e. On /\ y e. On) -> (A +o (B +o suc y)) = (A +o suc (B +o y)))
2827adantl 305 . . . . . . . . . . 11 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o (B +o suc y)) = (A +o suc (B +o y)))
29 oasuc 3131 . . . . . . . . . . . 12 |- ((A e. On /\ (B +o y) e. On) -> (A +o suc (B +o y)) = suc (A +o (B +o y)))
30 oacl 3138 . . . . . . . . . . . 12 |- ((B e. On /\ y e. On) -> (B +o y) e. On)
3129, 30sylan2 346 . . . . . . . . . . 11 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o suc (B +o y)) = suc (A +o (B +o y)))
3228, 31eqtrd 1128 . . . . . . . . . 10 |- ((A e. On /\ (B e. On /\ y e. On)) -> (A +o (B +o suc y)) = suc (A +o (B +o y)))
3332anassrs 338 . . . . . . . . 9 |- (((A e. On /\ B e. On) /\ y e. On) -> (A +o (B +o suc y)) = suc (A +o (B +o y)))
3425, 33cleq12d 1115 . . . . . . . 8 |- (((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 2288 . . . . . . . 8 |- (((A +o B) +o y) = (A +o (B +o y)) -> suc ((A +o B) +o y) = suc (A +o (B +o y)))
3634, 35syl5bir 184 . . . . . . 7 |- (((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))))
3736exp 291 . . . . . 6 |- ((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)))))
3837com12 13 . . . . 5 |- (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)))))
39 iuneq2 2006 . . . . . . . 8 |- (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)))
4039adantl 305 . . . . . . 7 |- (((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)))
41 visset 1350 . . . . . . . . . . 11 |- x e. V
42 oalim 3135 . . . . . . . . . . 11 |- (((A +o B) e. On /\ (x e. V /\ Lim x)) -> ((A +o B) +o x) = U.y e. x ((A +o B) +o y))
4341, 42mpan21 531 . . . . . . . . . 10 |- (((A +o B) e. On /\ Lim x) -> ((A +o B) +o x) = U.y e. x ((A +o B) +o y))
4443, 17sylan 343 . . . . . . . . 9 |- (((A e. On /\ B e. On) /\ Lim x) -> ((A +o B) +o x) = U.y e. x ((A +o B) +o y))
4544ancoms 334 . . . . . . . 8 |- ((Lim x /\ (A e. On /\ B e. On)) -> ((A +o B) +o x) = U.y e. x ((A +o B) +o y))
4645adantr 306 . . . . . . 7 |- (((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))
47 oprex 3018 . . . . . . . . . . . 12 |- (B +o x) e. V
48 oalim 3135 . . . . . . . . . . . 12 |- ((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))
4947, 48mpan21 531 . . . . . . . . . . 11 |- ((A e. On /\ Lim (B +o x)) -> (A +o (B +o x)) = U.z e. (B +o x)(A +o z))
50 oalimcl 3162 . . . . . . . . . . . . 13 |- ((B e. On /\ (x e. V /\ Lim x)) -> Lim (B +o x))
5141, 50mpan21 531 . . . . . . . . . . . 12 |- ((B e. On /\ Lim x) -> Lim (B +o x))
5251ancoms 334 . . . . . . . . . . 11 |- ((Lim x /\ B e. On) -> Lim (B +o x))
5349, 52sylan2 346 . . . . . . . . . 10 |- ((A e. On /\ (Lim x /\ B e. On)) -> (A +o (B +o x)) = U.z e. (B +o x)(A +o z))
54 limelon 2286 . . . . . . . . . . . . . . . . . 18 |- ((x e. V /\ Lim x) -> x e. On)
5541, 54mpan 518 . . . . . . . . . . . . . . . . 17 |- (Lim x -> x e. On)
56 oacl 3138 . . . . . . . . . . . . . . . . . . . . . . 23 |- ((B e. On /\ x e. On) -> (B +o x) e. On)
5756ancoms 334 . . . . . . . . . . . . . . . . . . . . . 22 |- ((x e. On /\ B e. On) -> (B +o x) e. On)
58 onelon 2223 . . . . . . . . . . . . . . . . . . . . . . 23 |- (((B +o x) e. On /\ z e. (B +o x)) -> z e. On)
5958exp 291 . . . . . . . . . . . . . . . . . . . . . 22 |- ((B +o x) e. On -> (z e. (B +o x) -> z e. On))
6057, 59syl 12 . . . . . . . . . . . . . . . . . . . . 21 |- ((x e. On /\ B e. On) -> (z e. (B +o x) -> z e. On))
6160adantld 307 . . . . . . . . . . . . . . . . . . . 20 |- ((x e. On /\ B e. On) -> ((A e. On /\ z e. (B +o x)) -> z e. On))
6261adantl 305 . . . . . . . . . . . . . . . . . . 19 |- ((