Metamath Proof Explorer


Theorem ordtri1

Description: A trichotomy law for ordinals. (Contributed by NM, 25-Mar-1995) (Proof shortened by Andrew Salmon, 25-Jul-2011)

Ref Expression
Assertion ordtri1 ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐴𝐵 ↔ ¬ 𝐵𝐴 ) )

Proof

Step Hyp Ref Expression
1 ordsseleq ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐴𝐵 ↔ ( 𝐴𝐵𝐴 = 𝐵 ) ) )
2 ordn2lp ( Ord 𝐴 → ¬ ( 𝐴𝐵𝐵𝐴 ) )
3 imnan ( ( 𝐴𝐵 → ¬ 𝐵𝐴 ) ↔ ¬ ( 𝐴𝐵𝐵𝐴 ) )
4 2 3 sylibr ( Ord 𝐴 → ( 𝐴𝐵 → ¬ 𝐵𝐴 ) )
5 ordirr ( Ord 𝐵 → ¬ 𝐵𝐵 )
6 eleq2 ( 𝐴 = 𝐵 → ( 𝐵𝐴𝐵𝐵 ) )
7 6 notbid ( 𝐴 = 𝐵 → ( ¬ 𝐵𝐴 ↔ ¬ 𝐵𝐵 ) )
8 5 7 syl5ibrcom ( Ord 𝐵 → ( 𝐴 = 𝐵 → ¬ 𝐵𝐴 ) )
9 4 8 jaao ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( ( 𝐴𝐵𝐴 = 𝐵 ) → ¬ 𝐵𝐴 ) )
10 ordtri3or ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) )
11 df-3or ( ( 𝐴𝐵𝐴 = 𝐵𝐵𝐴 ) ↔ ( ( 𝐴𝐵𝐴 = 𝐵 ) ∨ 𝐵𝐴 ) )
12 10 11 sylib ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( ( 𝐴𝐵𝐴 = 𝐵 ) ∨ 𝐵𝐴 ) )
13 12 orcomd ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐵𝐴 ∨ ( 𝐴𝐵𝐴 = 𝐵 ) ) )
14 13 ord ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( ¬ 𝐵𝐴 → ( 𝐴𝐵𝐴 = 𝐵 ) ) )
15 9 14 impbid ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( ( 𝐴𝐵𝐴 = 𝐵 ) ↔ ¬ 𝐵𝐴 ) )
16 1 15 bitrd ( ( Ord 𝐴 ∧ Ord 𝐵 ) → ( 𝐴𝐵 ↔ ¬ 𝐵𝐴 ) )