red in |- *.
intros.
simpl in |- *.
red in |- *.
intro i.
simpl in |- *.
auto with algebra.
Qed.
Definition Fn_absgp (F : abelian_sgroup) (n : Nat) : ABELIAN_SGROUP :=
Build_abelian_sgroup
(Build_abelian_sgroup_on (A:=Fn_sgroup F n)
(Fn_plus_commutative (F:=F) (n:=n))).
(******************************************************)
(* It is a monoid, Jim, but... exactly as we know it. *)
(******************************************************)
Definition Fn_zero : forall (F : monoid) (n : Nat), Fn_sgroup F n.
intros F n.
apply (Build_Map (Ap:=fun i : fin n => zero F)).
red in |- *.
intros.
apply Refl.
Defined.

(* Specifications: *)
Lemma Fn_zero_is_r_unit :
forall (F : monoid) (n : Nat),
unit_r (sgroup_law_map (Fn_sgroup F n)) (Fn_zero F n).