intros.
apply Build_abelian_group_on.
apply Build_abelian_monoid_on.
apply Build_abelian_sgroup_on.
exact (Fn_plus_commutative (F:=F) (n:=n)).
Qed.
Definition Fn_abgp (F : abelian_group) (n : Nat) : ABELIAN_GROUP :=
Build_abelian_group (Fn_group_is_abelian F n).
(*******************************)
(* Alle modulen werden brueder *)
(*******************************)
Definition Fn_scmult_fun :
forall (F : ring) (n : Nat), F -> Fn_set F n -> Fn_set F n.
simpl in |- *.
intros F n c v.
apply (Build_Map (Ap:=fun i : fin n => c rX v i)).
red in |- *.
auto with algebra.
Defined.

(* Specifications: *)
Lemma Fn_scmult_fun_comp :
forall (F : ring) (n : Nat) (c c' : F) (v v' : Fn_set F n),
c =' c' in _ ->
v =' v' in _ -> Fn_scmult_fun c v =' Fn_scmult_fun c' v' in _.