simple induction f.
simpl in |- *; auto.
simpl in |- *.
intros until l; elim a.
intros until b; elim (Xeq_dec x a0).
elim (PARTFUNC l x).
intros y2 H; left; rewrite H; auto.
intros H H1; left; rewrite H; auto.
elim (PARTFUNC l x).
auto.
auto.
Qed.

Lemma UndefWhenRem :
forall (x : X) (y : Y) (f : set (X * Y)),
IsPARTFUNC f ->
set_In (x, y) f -> PARTFUNC (set_remove XYeq_dec (x, y) f) x = None.