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 ***)
(* *)
Definition Ext (f g : Map) := forall x : A, f x =_S g x.

Lemma Ext_equiv : Equivalence Ext.