Local Notation "a # b" := (PMap.get b a) (at level 1).Definition perm_order' (po: option permission) (p: permission) :=
  match po with
  | Some p' => perm_order p' p
  | None => False
 end.Definition perm_order'' (po1 po2: option permission) :=
  match po1, po2 with
  | Some p1, Some p2 => perm_order p1 p2
  | _, None => True
  | None, Some _ => False
 end.Definition mem := mem'.

(* Specifications: *)
Lemma mkmem_ext: forall cont1 cont2 acc1 acc2 next1 next2 a1 a2 b1 b2 c1 c2, cont1=cont2 -> acc1=acc2 -> next1=next2 -> mkmem cont1 acc1 next1 a1 b1 c1 = mkmem cont2 acc2 next2 a2 b2 c2.
Lemma mkmem_ext: forall cont1 cont2 acc1 acc2 next1 next2 a1 a2 b1 b2 c1 c2, cont1=cont2 -> acc1=acc2 -> next1=next2 -> mkmem cont1 acc1 next1 a1 b1 c1 = mkmem cont2 acc2 next2 a2 b2 c2.