End sub_setoid.
Section restricted_map.
Variables (A B : Setoid) (f : Map A B) (P : Setoid_pred A).
Definition Restricted_fun (a : SubSetoid P) := f (Elt_sub a).

(* Specifications: *)
Lemma Restricted_map_law : Map_law Restricted_fun.
Canonical Structure RestrictedMap := Build_Map Restricted_map_law.