Qed.

(* Specifications: *)
Lemma equiv_sym : forall R : relation E, equivalence R -> symmetric R.
compute in |- *; tauto.
Lemma equiv_trans : forall R : relation E, equivalence R -> transitive R.
compute in |- *; tauto.
Lemma RING_unit_l : forall x : R, Equal (ring_mult (ring_unit R) x) x.
exact (monoid_unit_l_prf (ring_monoid R)).
Lemma RING_dist_r :
forall x y z : R,
Equal (ring_mult (sgroup_law R x y) z)
(sgroup_law R (ring_mult x z) (ring_mult y z)).
Lemma RING_hom_ext :
forall f g : Hom R R', (forall x : R, Equal (f x) (g x)) -> Equal f g.
Lemma FIELD_comp :
forall x x' : K, Equal x x' -> Equal (field_inverse x) (field_inverse x').
Lemma MONOID_unit_l : forall x : E, Equal (sgroup_law _ (monoid_unit E) x) x.
intros; apply (monoid_unit_l_prf E x).
Lemma MONOID_unit_unique :
forall e : E,
(forall x : E, Equal (sgroup_law _ x e) x) ->
(forall x : E, Equal (sgroup_law _ e x) x) -> Equal e (monoid_unit E).
Lemma included_union_r : forall A B : part_set E, included B (union A B).
unfold included in |- *; simpl in |- *; intuition.
Lemma in_part_union_l :
forall (A B : part_set E) (x : E), in_part x A -> in_part x (union A B).
Lemma Ker_prop_rev :
forall x : G, Equal (f x) (monoid_unit G') -> in_part x Ker.
Lemma included_inter_r : forall A B : part_set E, included (inter A B) B.
unfold included in |- *; simpl in |- *; intuition.
Lemma in_part_inter_l :
forall (A B : part_set E) (x : E), in_part x (inter A B) -> in_part x A.