Definition canonicalPMap fn n m : Maps.PMap.t (Z -> perm_kind -> option permission) :=
    let l := mkBlockList n in
    (fun _ _ => None, canonicalPTree (PList fn l m)).Definition setMaxPerm (m : mem) : mem.

Lemma setMaxPerm_Max : forall m b ofs, (Mem.valid_block m b -> permission_at (setMaxPerm m) b ofs Max = Some Freeable) /\ (~Mem.valid_block m b -> permission_at (setMaxPerm m) b ofs Max = None).