Metamath Proof Explorer


Theorem sotr3

Description: Transitivity law for strict orderings. (Contributed by Scott Fenton, 24-Nov-2021)

Ref Expression
Assertion sotr3 ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) → ( ( 𝑋 𝑅 𝑌 ∧ ¬ 𝑍 𝑅 𝑌 ) → 𝑋 𝑅 𝑍 ) )

Proof

Step Hyp Ref Expression
1 simp3 ⊢ ( ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) → 𝑍 ∈ 𝐴 )
2 simp2 ⊢ ( ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) → 𝑌 ∈ 𝐴 )
3 1 2 jca ⊢ ( ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) → ( 𝑍 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ) )
4 sotric ⊢ ( ( 𝑅 Or 𝐴 ∧ ( 𝑍 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ) ) → ( 𝑍 𝑅 𝑌 ↔ ¬ ( 𝑍 = 𝑌 ∨ 𝑌 𝑅 𝑍 ) ) )
5 3 4 sylan2 ⊢ ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) → ( 𝑍 𝑅 𝑌 ↔ ¬ ( 𝑍 = 𝑌 ∨ 𝑌 𝑅 𝑍 ) ) )
6 5 con2bid ⊢ ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) → ( ( 𝑍 = 𝑌 ∨ 𝑌 𝑅 𝑍 ) ↔ ¬ 𝑍 𝑅 𝑌 ) )
7 6 adantr ⊢ ( ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) ∧ 𝑋 𝑅 𝑌 ) → ( ( 𝑍 = 𝑌 ∨ 𝑌 𝑅 𝑍 ) ↔ ¬ 𝑍 𝑅 𝑌 ) )
8 breq2 ⊢ ( 𝑍 = 𝑌 → ( 𝑋 𝑅 𝑍 ↔ 𝑋 𝑅 𝑌 ) )
9 8 biimprcd ⊢ ( 𝑋 𝑅 𝑌 → ( 𝑍 = 𝑌 → 𝑋 𝑅 𝑍 ) )
10 9 adantl ⊢ ( ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) ∧ 𝑋 𝑅 𝑌 ) → ( 𝑍 = 𝑌 → 𝑋 𝑅 𝑍 ) )
11 sotr ⊢ ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) → ( ( 𝑋 𝑅 𝑌 ∧ 𝑌 𝑅 𝑍 ) → 𝑋 𝑅 𝑍 ) )
12 11 expdimp ⊢ ( ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) ∧ 𝑋 𝑅 𝑌 ) → ( 𝑌 𝑅 𝑍 → 𝑋 𝑅 𝑍 ) )
13 10 12 jaod ⊢ ( ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) ∧ 𝑋 𝑅 𝑌 ) → ( ( 𝑍 = 𝑌 ∨ 𝑌 𝑅 𝑍 ) → 𝑋 𝑅 𝑍 ) )
14 7 13 sylbird ⊢ ( ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) ∧ 𝑋 𝑅 𝑌 ) → ( ¬ 𝑍 𝑅 𝑌 → 𝑋 𝑅 𝑍 ) )
15 14 expimpd ⊢ ( ( 𝑅 Or 𝐴 ∧ ( 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐴 ∧ 𝑍 ∈ 𝐴 ) ) → ( ( 𝑋 𝑅 𝑌 ∧ ¬ 𝑍 𝑅 𝑌 ) → 𝑋 𝑅 𝑍 ) )