Theorem: GaussInt.norm_mul (MIL/C06_Structures/S03_Building_the_Gaussian_Integers.lean)

State before:
x y : GaussInt
⊢ (x * y).norm = x.norm * y.norm
Tactic:
simp [norm]
State after:
x y : GaussInt
⊢ (x.re * y.re - x.im * y.im) ^ 2 + (x.re * y.im + x.im * y.re) ^ 2 = (x.re ^ 2 + x.im ^ 2) * (y.re ^ 2 + y.im ^ 2)

State before:
x y : GaussInt
⊢ (x.re * y.re - x.im * y.im) ^ 2 + (x.re * y.im + x.im * y.re) ^ 2 = (x.re ^ 2 + x.im ^ 2) * (y.re ^ 2 + y.im ^ 2)
Tactic:
ring
State after:
no goals