(*========================================================== ============================================================ TOPOLOGICAL FMAPS, QHMAPS, HMAPS -  PROOF OF EULER RELATION AND GENUS THEOREM  PART 2: CLOSURE OF QHMAPS, FACES, PATHS  (J.-F. Dufourd, June 2006 - FOR PUBLICATION completed in October 2007)  ============================================================ ==========================================================*)
(*========================================================== CLOSURE of qhmap ==========================================================*)
Require Export Euler1.
(* Closure designed for qhmaps, but written on fmaps, as usual: *)
Fixpoint clos(m:fmap):fmap:=
match m with
V => V
| I m0 x0 =>
i (clos m0) x0
| L m0 k x0 y0 =>
let mr:= clos m0 in
if eq_dart_dec y0 (A mr k x0)
then mr
else l mr k x0 y0
end.
(* Preservation of the dart set in the closure: *)
(* Two corollaries more usable: *)
(* The closure is a true hypermap: *)

Theorem inv_hmap_clos : forall (m:fmap),
inv_qhmap m -> inv_hmap (clos m).