Definition Cring : RING.Definition Ccring : CRING.Definition conjugate (z : Ctype) : Ctype :=
  Build_Ctype (real z) (group_inverse R (imag z)).Definition CdivR (z : Ctype) (r : R) : Ctype :=
  Build_Ctype (field_div (real z) r) (field_div (imag z) r).Definition Cinv (z : Ctype) : Ctype :=
  CdivR (conjugate z) (Cmult z (conjugate z)).Definition Cinv_map : MAP Ccring Ccring.

(* Specifications: *)
Lemma C_inv_r : forall x : Ccring, ~ Equal x (monoid_unit Ccring) -> Equal (ring_mult x (Ap Cinv_map x)) (ring_unit Ccring).