(** * C is a NormedModule *)

Canonical C_UniformSpace :=
  UniformSpace.Pack C (UniformSpace.class (prod_UniformSpace _ _)) C.(** on C (with the balls of R^2) *)

Canonical C_ModuleSpace :=
  ModuleSpace.Pack C_Ring C (ModuleSpace.class _ (Ring_ModuleSpace C_Ring)) C.Canonical C_NormedModuleAux :=
  NormedModuleAux.Pack C_AbsRing C (NormedModuleAux.Class C_AbsRing _ (ModuleSpace.class _ C_ModuleSpace) (UniformSpace.class C_UniformSpace)) C.

(* Specifications: *)
Lemma C_NormedModule_mixin_compat1 : forall (x y : C) (eps : R), Cmod (minus y x) < eps -> ball x eps y.
Lemma C_NormedModule_mixin_compat2 : forall (x y : C_NormedModuleAux) (eps : posreal), ball x eps y -> Cmod (minus y x) < sqrt 2 * eps.