Metamath Proof Explorer


Theorem xrlttri

Description: Ordering on the extended reals satisfies strict trichotomy. New proofs should generally use this instead of ax-pre-lttri or axlttri . (Contributed by NM, 14-Oct-2005)

Ref Expression
Assertion xrlttri ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝐴 < 𝐵 ↔ ¬ ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )

Proof

Step Hyp Ref Expression
1 xrltnr ( 𝐴 ∈ ℝ* → ¬ 𝐴 < 𝐴 )
2 1 adantr ( ( 𝐴 ∈ ℝ*𝐴 = 𝐵 ) → ¬ 𝐴 < 𝐴 )
3 breq2 ( 𝐴 = 𝐵 → ( 𝐴 < 𝐴𝐴 < 𝐵 ) )
4 3 adantl ( ( 𝐴 ∈ ℝ*𝐴 = 𝐵 ) → ( 𝐴 < 𝐴𝐴 < 𝐵 ) )
5 2 4 mtbid ( ( 𝐴 ∈ ℝ*𝐴 = 𝐵 ) → ¬ 𝐴 < 𝐵 )
6 5 ex ( 𝐴 ∈ ℝ* → ( 𝐴 = 𝐵 → ¬ 𝐴 < 𝐵 ) )
7 6 adantr ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝐴 = 𝐵 → ¬ 𝐴 < 𝐵 ) )
8 xrltnsym ( ( 𝐵 ∈ ℝ*𝐴 ∈ ℝ* ) → ( 𝐵 < 𝐴 → ¬ 𝐴 < 𝐵 ) )
9 8 ancoms ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝐵 < 𝐴 → ¬ 𝐴 < 𝐵 ) )
10 7 9 jaod ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( ( 𝐴 = 𝐵𝐵 < 𝐴 ) → ¬ 𝐴 < 𝐵 ) )
11 elxr ( 𝐴 ∈ ℝ* ↔ ( 𝐴 ∈ ℝ ∨ 𝐴 = +∞ ∨ 𝐴 = -∞ ) )
12 elxr ( 𝐵 ∈ ℝ* ↔ ( 𝐵 ∈ ℝ ∨ 𝐵 = +∞ ∨ 𝐵 = -∞ ) )
13 axlttri ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 𝐴 < 𝐵 ↔ ¬ ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
14 13 biimprd ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( ¬ ( 𝐴 = 𝐵𝐵 < 𝐴 ) → 𝐴 < 𝐵 ) )
15 14 con1d ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
16 ltpnf ( 𝐴 ∈ ℝ → 𝐴 < +∞ )
17 16 adantr ( ( 𝐴 ∈ ℝ ∧ 𝐵 = +∞ ) → 𝐴 < +∞ )
18 breq2 ( 𝐵 = +∞ → ( 𝐴 < 𝐵𝐴 < +∞ ) )
19 18 adantl ( ( 𝐴 ∈ ℝ ∧ 𝐵 = +∞ ) → ( 𝐴 < 𝐵𝐴 < +∞ ) )
20 17 19 mpbird ( ( 𝐴 ∈ ℝ ∧ 𝐵 = +∞ ) → 𝐴 < 𝐵 )
21 20 pm2.24d ( ( 𝐴 ∈ ℝ ∧ 𝐵 = +∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
22 mnflt ( 𝐴 ∈ ℝ → -∞ < 𝐴 )
23 22 adantr ( ( 𝐴 ∈ ℝ ∧ 𝐵 = -∞ ) → -∞ < 𝐴 )
24 breq1 ( 𝐵 = -∞ → ( 𝐵 < 𝐴 ↔ -∞ < 𝐴 ) )
25 24 adantl ( ( 𝐴 ∈ ℝ ∧ 𝐵 = -∞ ) → ( 𝐵 < 𝐴 ↔ -∞ < 𝐴 ) )
26 23 25 mpbird ( ( 𝐴 ∈ ℝ ∧ 𝐵 = -∞ ) → 𝐵 < 𝐴 )
27 26 olcd ( ( 𝐴 ∈ ℝ ∧ 𝐵 = -∞ ) → ( 𝐴 = 𝐵𝐵 < 𝐴 ) )
28 27 a1d ( ( 𝐴 ∈ ℝ ∧ 𝐵 = -∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
29 15 21 28 3jaodan ( ( 𝐴 ∈ ℝ ∧ ( 𝐵 ∈ ℝ ∨ 𝐵 = +∞ ∨ 𝐵 = -∞ ) ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
30 ltpnf ( 𝐵 ∈ ℝ → 𝐵 < +∞ )
31 30 adantl ( ( 𝐴 = +∞ ∧ 𝐵 ∈ ℝ ) → 𝐵 < +∞ )
32 breq2 ( 𝐴 = +∞ → ( 𝐵 < 𝐴𝐵 < +∞ ) )
33 32 adantr ( ( 𝐴 = +∞ ∧ 𝐵 ∈ ℝ ) → ( 𝐵 < 𝐴𝐵 < +∞ ) )
34 31 33 mpbird ( ( 𝐴 = +∞ ∧ 𝐵 ∈ ℝ ) → 𝐵 < 𝐴 )
35 34 olcd ( ( 𝐴 = +∞ ∧ 𝐵 ∈ ℝ ) → ( 𝐴 = 𝐵𝐵 < 𝐴 ) )
36 35 a1d ( ( 𝐴 = +∞ ∧ 𝐵 ∈ ℝ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
37 eqtr3 ( ( 𝐴 = +∞ ∧ 𝐵 = +∞ ) → 𝐴 = 𝐵 )
38 37 orcd ( ( 𝐴 = +∞ ∧ 𝐵 = +∞ ) → ( 𝐴 = 𝐵𝐵 < 𝐴 ) )
39 38 a1d ( ( 𝐴 = +∞ ∧ 𝐵 = +∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
40 mnfltpnf -∞ < +∞
41 breq12 ( ( 𝐵 = -∞ ∧ 𝐴 = +∞ ) → ( 𝐵 < 𝐴 ↔ -∞ < +∞ ) )
42 40 41 mpbiri ( ( 𝐵 = -∞ ∧ 𝐴 = +∞ ) → 𝐵 < 𝐴 )
43 42 ancoms ( ( 𝐴 = +∞ ∧ 𝐵 = -∞ ) → 𝐵 < 𝐴 )
44 43 olcd ( ( 𝐴 = +∞ ∧ 𝐵 = -∞ ) → ( 𝐴 = 𝐵𝐵 < 𝐴 ) )
45 44 a1d ( ( 𝐴 = +∞ ∧ 𝐵 = -∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
46 36 39 45 3jaodan ( ( 𝐴 = +∞ ∧ ( 𝐵 ∈ ℝ ∨ 𝐵 = +∞ ∨ 𝐵 = -∞ ) ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
47 mnflt ( 𝐵 ∈ ℝ → -∞ < 𝐵 )
48 47 adantl ( ( 𝐴 = -∞ ∧ 𝐵 ∈ ℝ ) → -∞ < 𝐵 )
49 breq1 ( 𝐴 = -∞ → ( 𝐴 < 𝐵 ↔ -∞ < 𝐵 ) )
50 49 adantr ( ( 𝐴 = -∞ ∧ 𝐵 ∈ ℝ ) → ( 𝐴 < 𝐵 ↔ -∞ < 𝐵 ) )
51 48 50 mpbird ( ( 𝐴 = -∞ ∧ 𝐵 ∈ ℝ ) → 𝐴 < 𝐵 )
52 51 pm2.24d ( ( 𝐴 = -∞ ∧ 𝐵 ∈ ℝ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
53 breq12 ( ( 𝐴 = -∞ ∧ 𝐵 = +∞ ) → ( 𝐴 < 𝐵 ↔ -∞ < +∞ ) )
54 40 53 mpbiri ( ( 𝐴 = -∞ ∧ 𝐵 = +∞ ) → 𝐴 < 𝐵 )
55 54 pm2.24d ( ( 𝐴 = -∞ ∧ 𝐵 = +∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
56 eqtr3 ( ( 𝐴 = -∞ ∧ 𝐵 = -∞ ) → 𝐴 = 𝐵 )
57 56 orcd ( ( 𝐴 = -∞ ∧ 𝐵 = -∞ ) → ( 𝐴 = 𝐵𝐵 < 𝐴 ) )
58 57 a1d ( ( 𝐴 = -∞ ∧ 𝐵 = -∞ ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
59 52 55 58 3jaodan ( ( 𝐴 = -∞ ∧ ( 𝐵 ∈ ℝ ∨ 𝐵 = +∞ ∨ 𝐵 = -∞ ) ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
60 29 46 59 3jaoian ( ( ( 𝐴 ∈ ℝ ∨ 𝐴 = +∞ ∨ 𝐴 = -∞ ) ∧ ( 𝐵 ∈ ℝ ∨ 𝐵 = +∞ ∨ 𝐵 = -∞ ) ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
61 11 12 60 syl2anb ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( ¬ 𝐴 < 𝐵 → ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )
62 10 61 impbid ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( ( 𝐴 = 𝐵𝐵 < 𝐴 ) ↔ ¬ 𝐴 < 𝐵 ) )
63 62 con2bid ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ* ) → ( 𝐴 < 𝐵 ↔ ¬ ( 𝐴 = 𝐵𝐵 < 𝐴 ) ) )