Section Restrictions1.
Variable E F : Setoid.
Variable f : MAP E F.
Definition restrict : forall A : part_set E, MAP A F.
intros A; try assumption.
apply (Build_Map (Ap:=fun x : A => f (A x))).
red in |- *.
intros x y; try assumption.
elim y.
elim x.
simpl in |- *; auto with algebra.
Defined.

Lemma restrict_prop :
forall (A : part_set E) (x : E) (p : in_part x A),
Equal (restrict A (Build_subtype (subtype_elt:=x) p)) (f x).