(* Definition of "Planarly formed" hypermap: *)
Fixpoint plf(m:fmap):Prop:=
match m with
V => True
| I m0 x _ _ => plf m0
| L m0 zero x y => plf m0 /\
(~eqc m0 x y \/ expf m0 (cA_1 m0 one x) y)
| L m0 one x y => plf m0 /\
(~eqc m0 x y \/ expf m0 x (cA m0 zero y))
end.
(* Constructive Sufficient Condition of planarity: *)

(* Specifications: *)
Theorem plf_planar:forall (m:fmap),
inv_hmap m -> plf m -> planar m.