Section The_exercise_itself.
Variable E : Set.
Variable a : E.
Variable o : E -> E -> E.
Hypothesis o_assoc : associative o.
Hypothesis o_onto_r : forall x : E, onto (fun y : E => o x y).
Hypothesis o_onto_l : forall x : E, onto (fun y : E => o y x).
Hint Resolve o_assoc o_onto_r o_onto_l.
(********************************** Building the neutral element ... ************************************)
(*****************************)
(* A right neutral element *)
Definition e := let (e, _) := Ea in e.
(***********************************)
Hint Resolve r_neutral.
(*******************************)
Definition e' := let (e', _) := E'a in e'.
(**************************************)
Hint Resolve e'_l_neutral.
(*******************)

(*********************************)
Lemma l_neutral : left_neutral o e.