apply Trans with (genlaw (genlaw (geninv x) x) e); auto with algebra.
apply
Trans
with (genlaw (genlaw (geninv x) x) (genlaw (geninv x) (geninv (geninv x))));
auto with algebra.
apply
Trans
with (genlaw (geninv x) (genlaw x (genlaw (geninv x) (geninv (geninv x)))));
auto with algebra.
apply
Trans
with (genlaw (geninv x) (genlaw (genlaw x (geninv x)) (geninv (geninv x))));
auto with algebra.
apply Trans with (genlaw (geninv x) (genlaw e (geninv (geninv x))));
auto with algebra.
apply Trans with (genlaw (genlaw (geninv x) e) (geninv (geninv x)));
auto with algebra.
apply Trans with (genlaw (geninv x) (geninv (geninv x))); auto with algebra.
Qed.
Hint Resolve geninvl: algebra.

(* Specifications: *)
Lemma eunitgenlawl : forall x : E, Equal (genlaw e x) x.
intros x; try assumption.