Section groups.
Variable S : Set.
Variable G : S -> Prop.
Variable Add : S -> S -> S.
Variable O : S.
Variable Opp : S -> S.
(*****************************************************************************)
(*****************)
Definition is_group :=
intern S G Add /\
associativity S Add /\ neutral S G Add O /\ opposite S G Add O Opp.

(**************)
Lemma regular_l :
is_group ->
forall y z : S,
G y -> G z -> forall x : S, G x -> Add x y = Add x z -> y = z.