intros x y; try assumption.
apply GROUP_law_inverse.
apply
Trans
with
(sgroup_law G x
(sgroup_law G y (sgroup_law G (group_inverse _ y) (group_inverse _ x))));
auto with algebra.
apply
Trans
with
(sgroup_law G x
(sgroup_law G (sgroup_law G y (group_inverse _ y)) (group_inverse _ x)));
auto with algebra.
apply
Trans
with (sgroup_law G x (sgroup_law G (monoid_unit G) (group_inverse _ x)));
auto with algebra.
apply Trans with (sgroup_law G x (group_inverse _ x)); auto with algebra.
Qed.
End Lemmas.
Section Lemmas2.
Variable G F : GROUP.
Variable f : Hom G F.

(* Specifications: *)
Lemma GROUP_hom_prop :
forall x : G, Equal (f (group_inverse _ x)) (group_inverse _ (f x)).