(*========================================================== TOPOLOGICAL HMAP OPERATIONS ==========================================================*)
(* Empty hmap: *)
Definition v:= V.
(* Insertion of an isolated dart, sewn to itself: *)
Definition prec_i (m:fmap)(x:dart):=
prec_I m x.
Definition i(m:fmap)(x:dart):=
L (L (I m x) di0 x x) di1 x x.
(* Correction of i for hmaps: proof obligation: *)

(* Specifications: *)
Lemma inv_hmap_i:
forall (m:fmap)(x:dart),
inv_hmap m -> prec_i m x -> inv_hmap (i m x).