Section Sgroup.
Variable S : ABELIAN_SGROUP.
exact (abelian_sgroup_com_prf S).
Qed.
intros x y z; try assumption.
apply Trans with (sgroup_law S (sgroup_law S x y) z); auto with algebra.
apply Trans with (sgroup_law S (sgroup_law S y x) z); auto with algebra.
apply SGROUP_comp; auto with algebra.
apply ABELIAN_SGROUP_com.
Qed.

Lemma ABELIAN_SGROUP4 :
forall x y z t : S,
Equal (sgroup_law _ (sgroup_law _ x y) (sgroup_law _ z t))
(sgroup_law _ (sgroup_law _ x z) (sgroup_law _ y t)).