Definition map (S:Store A) : Store B :=
mkStore (index S) (Tmap (contents S)).

(* Specifications: *)
Lemma get_map: forall i S, get i (map S)= match get i S with PNone => PNone | PSome a => PSome (f a) end.
Lemma map_push: forall a S, map (push a S) = push (f a) (map S).
Theorem Full_map : forall S, Full S -> Full (map S).