have : p ≤ q ∧ q ≤ r ∨ r ≤ q ∧ q ≤ p :=
  match ‹p ≤ r ∨ r ≤ p› with
  | Or.inl (_ : p ≤ r) =>
    have : p ≤ q ∧ q ≤ r := order_from_min_max min_max ‹p ≤ r›
    Or.inl this
  | Or.inr (_ : r ≤ p) =>
    have : min r p ≤ q ∧ q ≤ max r p := min_max_comm min_max
    have : r ≤ q ∧ q ≤ p := order_from_min_max this ‹r ≤ p›
    Or.inr this
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
p q r : ℚ
min_max : Ordered.min p r ≤ q ∧ q ≤ Ordered.max p r
this : p ≤ r ∨ r ≤ p
⊢ p⊣ q ⊢r
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
p q r : ℚ
min_max : Ordered.min p r ≤ q ∧ q ≤ Ordered.max p r
this✝ : p ≤ r ∨ r ≤ p
this : p ≤ q ∧ q ≤ r ∨ r ≤ q ∧ q ≤ p
⊢ p⊣ q ⊢r