case mp =>
  intro (_ : abs p ≤ q)
  show -q ≤ p ∧ p ≤ q
  have : -q ≤ p := calc
    _ ≃ -q       := eqv_refl
    _ ≤ (-abs p) := le_subst_neg ‹abs p ≤ q›
    _ ≤ p        := neg_abs_le_self
  have : p ≤ q := calc
    _ ≃ p     := eqv_refl
    _ ≤ abs p := abs_ge_self
    _ ≤ q     := ‹abs p ≤ q›
  exact And.intro ‹-q ≤ p› ‹p ≤ q›
ℕ ℤ ℚ : 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 : ℚ
⊢ abs p ≤ q → -q ≤ p ∧ p ≤ q
no goals