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)).

Lemma canonicalPMap_sound :
forall k n m fn
(Hk : k > 0)
(Hkn : k < n),
fn (m !! (Pos.of_nat k)) = (canonicalPMap fn n m) !! (Pos.of_nat k).