Let z and w be given.
Assume Hz Hw.
We prove the intermediate claim Lzw: CSNo (mult' z w).
An exact proof term for the current goal is CSNo_mul_CSNo z w Hz Hw.
We prove the intermediate claim Lwz: CSNo (mult' w z).
An exact proof term for the current goal is CSNo_mul_CSNo w z Hw Hz.
We prove the intermediate claim LRezR: SNo (Re z).
An exact proof term for the current goal is CSNo_ReR z Hz.
We prove the intermediate claim LRewR: SNo (Re w).
An exact proof term for the current goal is CSNo_ReR w Hw.
We prove the intermediate claim LImzR: SNo (Im z).
An exact proof term for the current goal is CSNo_ImR z Hz.
We prove the intermediate claim LImwR: SNo (Im w).
An exact proof term for the current goal is CSNo_ImR w Hw.
Apply CSNo_ReIm_split (mult' z w) (mult' w z) Lzw Lwz to the current goal.
We will prove Re (mult' z w) = Re (mult' w z).
Use transitivity with Re z * Re w + - (Im w * Im z), and Re w * Re z + - (Im z * Im w).
An exact proof term for the current goal is mul_CSNo_CRe z w Hz Hw.
Use f_equal.
An exact proof term for the current goal is mul_SNo_com (Re z) (Re w) LRezR LRewR.
Use f_equal.
An exact proof term for the current goal is mul_SNo_com (Im w) (Im z) LImwR LImzR.
Use symmetry.
An exact proof term for the current goal is mul_CSNo_CRe w z Hw Hz.
We will prove Im (mult' z w) = Im (mult' w z).
Use transitivity with Im w * Re z + Im z * Re w, and Im z * Re w + Im w * Re z.
An exact proof term for the current goal is mul_CSNo_CIm z w Hz Hw.
An exact proof term for the current goal is add_SNo_com (Im w * Re z) (Im z * Re w) (SNo_mul_SNo (Im w) (Re z) LImwR LRezR) (SNo_mul_SNo (Im z) (Re w) LImzR LRewR).
Use symmetry.
An exact proof term for the current goal is mul_CSNo_CIm w z Hw Hz.