Module MemoryLemmas.
Global Notation "a # b" := (Maps.PMap.get b a) (at level 1).
Transparent Mem.store.
Transparent Mem.alloc.
Definition max_inv mf := forall b ofs, Mem.valid_block mf b ->
permission_at mf b ofs Max = Some Freeable.

Lemma setPermBlock_lt:
forall pmap m b ofs sz p
(Hinv: max_inv m)
(Hvalid: Mem.valid_block m b)
(Hlt: permMapLt pmap (getMaxPerm m)),
permMapLt (setPermBlock p b ofs pmap sz) (getMaxPerm m).