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))).

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