Section Monoid.
Variable M : ABELIAN_MONOID.
change
(forall x y : M:ABELIAN_SGROUP, Equal (sgroup_law _ x y) (sgroup_law _ y x))
in |- *; auto with algebra.
Qed.
change
(forall x y z : M:ABELIAN_SGROUP,
Equal (sgroup_law _ x (sgroup_law _ y z))
(sgroup_law _ y (sgroup_law _ x z))) in |- *;
auto with algebra.
Qed.

Lemma ABELIAN_MONOID4 :
forall x y z t : M,
Equal (sgroup_law _ (sgroup_law _ x y) (sgroup_law _ z t))
(sgroup_law _ (sgroup_law _ x z) (sgroup_law _ y t)).