intros F n.
red in |- *.
intro.
simpl in |- *.
red in |- *.
intro i.
simpl in |- *.
apply MONOID_unit_l.
Qed.
Definition Fn_monoid (F : monoid) (n : Nat) : MONOID :=
Build_monoid
(Build_monoid_on (A:=Fn_sgroup F n) (monoid_unit:=
Fn_zero F n) (Fn_zero_is_r_unit (F:=F) (n:=n))
(Fn_zero_is_l_unit (F:=F) (n:=n))).
(*********************************)
(* And Abel saw that it was good *)
(*********************************)

Lemma Fn_monoid_is_abelian :
forall (F : abelian_monoid) (n : Nat), abelian_monoid_on (Fn_monoid F n).