cases' le_or_lt a.re 0 with hre hre
d : ℤ
a : ℤ√d
him : a.im ≠ 0
⊢ ∃ c, a.norm = c.norm ∧ 0 ≤ c.re ∧ c.im ≠ 0
case inl
d : ℤ
a : ℤ√d
him : a.im ≠ 0
hre : a.re ≤ 0
⊢ ∃ c, a.norm = c.norm ∧ 0 ≤ c.re ∧ c.im ≠ 0

case inr
d : ℤ
a : ℤ√d
him : a.im ≠ 0
hre : 0 < a.re
⊢ ∃ c, a.norm = c.norm ∧ 0 ≤ c.re ∧ c.im ≠ 0