Metamath Proof Explorer


Theorem oaord

Description: Ordering property of ordinal addition. Proposition 8.4 of TakeutiZaring p. 58 and its converse. (Contributed by NM, 5-Dec-2004)

Ref Expression
Assertion oaord ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 ∈ 𝐵 ↔ ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 oaordi ⊢ ( ( 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 ∈ 𝐵 → ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ) )
2 1 3adant1 ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 ∈ 𝐵 → ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ) )
3 oveq2 ⊢ ( 𝐴 = 𝐵 → ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) )
4 3 a1i ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 = 𝐵 → ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) ) )
5 oaordi ⊢ ( ( 𝐴 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐵 ∈ 𝐴 → ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) )
6 5 3adant2 ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐵 ∈ 𝐴 → ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) )
7 4 6 orim12d ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( ( 𝐴 = 𝐵 ∨ 𝐵 ∈ 𝐴 ) → ( ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) ∨ ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) ) )
8 7 con3d ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( ¬ ( ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) ∨ ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) → ¬ ( 𝐴 = 𝐵 ∨ 𝐵 ∈ 𝐴 ) ) )
9 df-3an ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) ↔ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝐶 ∈ On ) )
10 ancom ⊢ ( ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ∧ 𝐶 ∈ On ) ↔ ( 𝐶 ∈ On ∧ ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ) )
11 anandi ⊢ ( ( 𝐶 ∈ On ∧ ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) ) ↔ ( ( 𝐶 ∈ On ∧ 𝐴 ∈ On ) ∧ ( 𝐶 ∈ On ∧ 𝐵 ∈ On ) ) )
12 9 10 11 3bitri ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) ↔ ( ( 𝐶 ∈ On ∧ 𝐴 ∈ On ) ∧ ( 𝐶 ∈ On ∧ 𝐵 ∈ On ) ) )
13 oacl ⊢ ( ( 𝐶 ∈ On ∧ 𝐴 ∈ On ) → ( 𝐶 +o 𝐴 ) ∈ On )
14 eloni ⊢ ( ( 𝐶 +o 𝐴 ) ∈ On → Ord ( 𝐶 +o 𝐴 ) )
15 13 14 syl ⊢ ( ( 𝐶 ∈ On ∧ 𝐴 ∈ On ) → Ord ( 𝐶 +o 𝐴 ) )
16 oacl ⊢ ( ( 𝐶 ∈ On ∧ 𝐵 ∈ On ) → ( 𝐶 +o 𝐵 ) ∈ On )
17 eloni ⊢ ( ( 𝐶 +o 𝐵 ) ∈ On → Ord ( 𝐶 +o 𝐵 ) )
18 16 17 syl ⊢ ( ( 𝐶 ∈ On ∧ 𝐵 ∈ On ) → Ord ( 𝐶 +o 𝐵 ) )
19 15 18 anim12i ⊢ ( ( ( 𝐶 ∈ On ∧ 𝐴 ∈ On ) ∧ ( 𝐶 ∈ On ∧ 𝐵 ∈ On ) ) → ( Ord ( 𝐶 +o 𝐴 ) ∧ Ord ( 𝐶 +o 𝐵 ) ) )
20 12 19 sylbi ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( Ord ( 𝐶 +o 𝐴 ) ∧ Ord ( 𝐶 +o 𝐵 ) ) )
21 ordtri2 ⊢ ( ( Ord ( 𝐶 +o 𝐴 ) ∧ Ord ( 𝐶 +o 𝐵 ) ) → ( ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ↔ ¬ ( ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) ∨ ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) ) )
22 20 21 syl ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ↔ ¬ ( ( 𝐶 +o 𝐴 ) = ( 𝐶 +o 𝐵 ) ∨ ( 𝐶 +o 𝐵 ) ∈ ( 𝐶 +o 𝐴 ) ) ) )
23 eloni ⊢ ( 𝐴 ∈ On → Ord 𝐴 )
24 eloni ⊢ ( 𝐵 ∈ On → Ord 𝐵 )
25 23 24 anim12i ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( Ord 𝐴 ∧ Ord 𝐵 ) )
26 25 3adant3 ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( Ord 𝐴 ∧ Ord 𝐵 ) )
27 ordtri2 ⊢ ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐴 ∈ 𝐵 ↔ ¬ ( 𝐴 = 𝐵 ∨ 𝐵 ∈ 𝐴 ) ) )
28 26 27 syl ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 ∈ 𝐵 ↔ ¬ ( 𝐴 = 𝐵 ∨ 𝐵 ∈ 𝐴 ) ) )
29 8 22 28 3imtr4d ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) → 𝐴 ∈ 𝐵 ) )
30 2 29 impbid ⊢ ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ∧ 𝐶 ∈ On ) → ( 𝐴 ∈ 𝐵 ↔ ( 𝐶 +o 𝐴 ) ∈ ( 𝐶 +o 𝐵 ) ) )