Fixpoint canonicalPTree (l : list (positive * (Z -> perm_kind -> option permission))) :=
match l with
| nil => PTree.empty _
| x :: l =>
PTree.set (fst x) (snd x) (canonicalPTree l)
end.

Lemma canonicalPTree_elements :
forall l x
(Hin: List.In x (PTree.elements (canonicalPTree l))),
List.In x l.