have : abs p ≃ -p := calc
  _ ≃ abs p     := eqv_refl
  _ ≃ p * sgn p := abs_sgn
  _ ≃ p * -1    := mul_substR ‹(sgn p : ℚ) ≃ -1›
  _ ≃ -1 * p    := mul_comm
  _ ≃ -p        := mul_neg_one
ℕ ℤ ℚ : 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 : ℚ
x✝ : sgn p ≃ -1
this : from_integer (sgn p) ≃ -1
⊢ abs p ≃ -p
ℕ ℤ ℚ : 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 : ℚ
x✝ : sgn p ≃ -1
this✝ : from_integer (sgn p) ≃ -1
this : abs p ≃ -p
⊢ abs p ≃ -p