(*========================================================== ============================================================ TOPOLOGICAL FMAPS, HMAPS - WITH TAGS AND EMBEDDINGS PROOF OF THE JORDAN THEOREM  PART 10: FORMALIZATION AND PROOF OF JCT WITH A 2008 NEW RING FORMALIZATION  expf, genus, planar / B, RINGS, JCT   OK: COMPLETE!! ============================================================ ==========================================================*)
(* cd Desktop/JORDAN_2008 coqtop -opt *)
(* ABOUT ... min: Load Jordan1. Load Jordan2. Load Jordan3. Load Jordan4. Load Jordan5. Load Jordan6. Load Jordan7. Load Jordan8. Load Jordan9. *)
Require Export Jordan9.
Open Scope Z_scope.
(*============================================================ genus, planar / L_B0, B0, planarity criterion / B0 =============================================================*)
(* OK: *)
(* OK: *)
(* OK!: *)
(* PLANARITY CRITERION / B0: OK! *)
(* DISCONNECTION CRITERION: VERY USEFUL *)
(*==========================================================  2008 JORDAN NEW FORMALIZATION:  ==========================================================*)
(* ======================================================= EQUIVALENCE AND top/bottom =========================================================*)
(* OK: *)
(* SPECIALIZATIONS: *)
(* OK: *)
(* OK: *)
(*========================================================== PROPERTIES ON B ===========================================================*)
(*=========================================================== expe AND bottom ============================================================*)
(* expo and between in an edge: *)
Definition expe(m:fmap)(z t:dart):=
MA0.expo m z t.
Definition betweene(m:fmap)(z v t:dart):=
MA0.between m z v t.
(* TO HAVE expe_bottom: *)

Lemma expe_bottom_ind: forall(m:fmap)(z:dart)(i:nat),
inv_hmap m -> exd m z ->
let t:= Iter (cA m zero) i z in
bottom m zero z = bottom m zero t.