Definition heap := loc -> val.Instance Join_heap : Join heap := Join_fun loc val _.Instance Perm_heap : Perm_alg heap := _.Instance Sep_heap : Sep_alg heap := _.Instance Canc_heap : Canc_alg heap := @Canc_fun loc val  _ _.Definition rawnext (x: loc) (y : val) (s : heap) :=
  y <> None /\ x<>O /\ s x = y /\ forall x', x'<>x -> s x' = None.Definition emp_at (l: loc) (h: heap) := h l = None.

Lemma heap_gempty h l : identity h -> emp_at l h.