simpl in |- *.
unfold eq_part, add_part, union, single in |- *; simpl in |- *.
intro.
case A; simpl in |- *.
intros a pa.
intuition.
Qed.

(* Specifications: *)
Lemma add_part_in_el_not_in :
forall (A : part_set E) (x y : E),
in_part y (add_part A x) -> ~ in_part y A -> Equal y x.
Lemma add_part_simpl :
forall (A B : part_set E) (x : E),
~ in_part x A ->
~ in_part x B -> Equal (add_part A x) (add_part B x) -> Equal A B.