Hint Resolve commute1 : core.
Arguments invg_inj {T} [x1 x2].
Prenex Implicits commute invgK.
Section GroupIdentities.
Variable T : finGroupType.
Implicit Types x y z : T.
Local Notation mulgT := (@mulg T).

(* Specifications: *)
Lemma mulVg : left_inverse 1 invg mulgT.
Lemma commgEl x y : [~ x, y] = x^-1 * x ^ y. Proof. by []. Qed.
Lemma commgEr x y : [~ x, y] = y^-1 ^ x * y.
Lemma card_mem_repr A : #|A| > 0 -> repr A \in A.
Lemma set_mulgA : associative set_mulg.
Lemma set_invgK : involutive set_invg.
Definition group_set_baseGroupMixin : FinGroup.mixin_of (set_type gT) :=
FinGroup.BaseMixin set_mulgA set_mul1g set_invgK set_invgM.