Definition func_abgp (A : Setoid) (B : abelian_group) : ABELIAN_GROUP :=
  Build_abelian_group (func_group_is_abelian A B).Definition func_scmult_fun :
  forall (A : Setoid) (B : ring), B -> func_set A B -> func_set A B.Definition func_scmult :
  forall (A : Setoid) (B : ring),
  operation (Build_monoid (ring_monoid B)) (func_group A B).

(* Specifications: *)
Lemma func_scmult_l_lin : forall (A : Setoid) (B : ring), op_lin_left (Mod:=func_abgp A B) (func_scmult A B).
Lemma func_scmult_r_lin : forall (A : Setoid) (B : ring), op_lin_right (Mod:=func_abgp A B) (func_scmult A B).