match this with
| Or.inl (_ : sgn a ≃ 1) =>
  have : Positive a := sgn_positive.mpr ‹sgn a ≃ 1›
  have : NonzeroWithSign a 1 := positive_iff_sign_pos1.mp this
  have : NonzeroWithSign a (sgn a) :=
    NonzeroWithSign.subst_sign (Rel.symm ‹sgn a ≃ 1›) this
  exact this
| Or.inr (_ : sgn a ≃ -1) =>
  have : Negative a := sgn_negative.mpr ‹sgn a ≃ -1›
  have : NonzeroWithSign a (-1) := negative_iff_sign_neg1.mp this
  have : NonzeroWithSign a (sgn a) :=
    NonzeroWithSign.subst_sign (Rel.symm ‹sgn a ≃ -1›) this
  exact this
ℕ : Type
inst✝⁶ : Natural ℕ
ℤ : Type
inst✝⁵ : Core ℤ
inst✝⁴ : Addition ℤ
inst✝³ : Multiplication ℤ
inst✝² : Negation ℤ
inst✝¹ : Sign ℤ
a : ℤ
inst✝ : Sqrt1 (sgn a)
this : sgn a ≃ 1 ∨ sgn a ≃ -1
⊢ NonzeroWithSign a (sgn a)
no goals