Metamath Proof Explorer


Theorem sotrieq

Description: Trichotomy law for strict order relation. (Contributed by NM, 9-Apr-1996) (Proof shortened by Andrew Salmon, 25-Jul-2011)

Ref Expression
Assertion sotrieq ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 = 𝐶 ↔ ¬ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 sonr ( ( 𝑅 Or 𝐴𝐵𝐴 ) → ¬ 𝐵 𝑅 𝐵 )
2 1 adantrr ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ¬ 𝐵 𝑅 𝐵 )
3 pm1.2 ( ( 𝐵 𝑅 𝐵𝐵 𝑅 𝐵 ) → 𝐵 𝑅 𝐵 )
4 2 3 nsyl ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ¬ ( 𝐵 𝑅 𝐵𝐵 𝑅 𝐵 ) )
5 breq2 ( 𝐵 = 𝐶 → ( 𝐵 𝑅 𝐵𝐵 𝑅 𝐶 ) )
6 breq1 ( 𝐵 = 𝐶 → ( 𝐵 𝑅 𝐵𝐶 𝑅 𝐵 ) )
7 5 6 orbi12d ( 𝐵 = 𝐶 → ( ( 𝐵 𝑅 𝐵𝐵 𝑅 𝐵 ) ↔ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
8 7 notbid ( 𝐵 = 𝐶 → ( ¬ ( 𝐵 𝑅 𝐵𝐵 𝑅 𝐵 ) ↔ ¬ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
9 4 8 syl5ibcom ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 = 𝐶 → ¬ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
10 9 con2d ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) → ¬ 𝐵 = 𝐶 ) )
11 solin ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 𝑅 𝐶𝐵 = 𝐶𝐶 𝑅 𝐵 ) )
12 3orass ( ( 𝐵 𝑅 𝐶𝐵 = 𝐶𝐶 𝑅 𝐵 ) ↔ ( 𝐵 𝑅 𝐶 ∨ ( 𝐵 = 𝐶𝐶 𝑅 𝐵 ) ) )
13 11 12 sylib ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 𝑅 𝐶 ∨ ( 𝐵 = 𝐶𝐶 𝑅 𝐵 ) ) )
14 or12 ( ( 𝐵 𝑅 𝐶 ∨ ( 𝐵 = 𝐶𝐶 𝑅 𝐵 ) ) ↔ ( 𝐵 = 𝐶 ∨ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
15 13 14 sylib ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 = 𝐶 ∨ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
16 15 ord ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( ¬ 𝐵 = 𝐶 → ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )
17 10 16 impbid ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ↔ ¬ 𝐵 = 𝐶 ) )
18 17 con2bid ( ( 𝑅 Or 𝐴 ∧ ( 𝐵𝐴𝐶𝐴 ) ) → ( 𝐵 = 𝐶 ↔ ¬ ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) ) )