(* *)
(***  MAP  ***)
Section maps'.
Variable A B : Setoid'.
Definition Map_law' (f : A -> B) := forall x y : A, x =_S' y -> f x =_S' f y.
Structure > Map' : Type :=  {Ap' :> A -> B; Pres' :> Map_law' Ap'}.
(*** rewrite rule ***)

(* Specifications: *)
Lemma Pres1' : forall (m : Map') (x y : A), x =_S' y -> m x =_S' m y.
Definition Ext' (f g : Map') := forall x : A, f x =_S' g x.