unfold disjoint in |- *.
unfold not in |- *; intros.
cut (in_part x (empty E)).
auto with *.
apply in_part_comp_r with (inter A B).
auto with *.
auto with *.
Qed.

Lemma cardinal_union_disjoint :
forall (a b : nat) (A B : part_set E),
cardinal A a -> cardinal B b -> disjoint A B -> cardinal (union A B) (a + b).