(* *)
(***  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.