intros; induction  f as [| a f Hrecf].
simpl in |- *.
left; auto.
simpl in |- *.
elim (XYeq_dec (x, y) a).
simpl in |- *.
elim a.
intros.
injection a1; intros.
apply set_add_intro2; auto.
simpl in |- *.
elim a.
intros.
apply set_add_intro1; auto.
Qed.

Lemma DOMFuncRel :
forall (a : X * Y) (f : set (X * Y)),
~ set_In (fst a) (DOM f) -> f = set_remove XYeq_dec a f.