simple induction f.
simpl in |- *; auto.
simpl in |- *.
intro; elim a0.
intros until b; elim (XYeq_dec a (a1, b)).
elim a.
intros.
injection a3; intros.
simpl in H0; rewrite H2 in H0.
cut False.
tauto.
apply H0; apply set_add_intro2; auto.
elim a.
simpl in |- *.
intros.
cut (l = set_remove XYeq_dec (a2, b0) l).
intro.
rewrite <- H1; auto.
apply H.
intro; apply H0; apply set_add_intro; auto.
Qed.
Hint Resolve DOMFuncRel.

(* Specifications: *)
Lemma DOMFuncRel2 :
forall (z : X * Y) (f : set (X * Y)), set_In z f -> set_In (fst z) (DOM f).