unfold eq_part in |- *; simpl in |- *.
intros x y H' x0; split; [ intros H'0; try assumption | idtac ].
apply Trans with x; auto with algebra.
intros H'0; try assumption.
apply Trans with y; auto with algebra.
Qed.
Hint Resolve single_law: algebra.

(* Specifications: *)
Lemma single_prop : forall x y : E, Equal y x -> in_part y (single x).
simpl in |- *; auto with algebra.