Definition disjoint (A B : part_set E) := Equal (inter A B) (empty E).

Lemma diff_add_part_not_in : forall (A B0 B : part_set E) (x : E), ~ in_part x B0 -> Equal A (add_part B0 x) -> ~ in_part x B -> Equal (diff A B) (add_part (diff B0 B) x).