(* OK:*)

(* Specifications: *)
Lemma cA_top:forall (m:fmap)(k:dim)(z:dart),
inv_hmap m -> exd m z ->
cA m k (top m k z) = bottom m k z.
Lemma nf_L0L1_VIIIA:forall (m:fmap)(x y x' y':dart),
let m1:=L (L m zero x y) one x' y' in
let m2:=L (L m one x' y') zero x y in
inv_hmap m1 ->
let x_1 := cA_1 m one x in
let y_0 := cA_1 m zero y in
let y'0 := cA m zero y' in
let x'1 := cA m one x' in
let y'0b := cA (L m zero x y) zero y' in
let x_1b := cA_1 (L m one x' y') one x in
~ expf m x_1 y ->
expf m x' y'0 ->
~ expf (L m zero x y) x' y'0b ->
~ expf (L m one x' y') x_1b y ->
x = y' ->
False.
Lemma eq_genus_I : forall(m:fmap)(x:dart)(t:tag)(p:point),
inv_hmap (I m x t p) -> genus (I m x t p) = genus m.
Lemma expf_B0_CS_1_a:forall (m:fmap)(x z t:dart),
inv_hmap m -> succ m zero x ->
let x0 := cA m zero x in
let xb0 := bottom m zero x in
let x_1 := cA_1 m one x in
expf m x0 xb0 ->
(betweenf m x_1 z xb0 /\ betweenf m x_1 t xb0)
-> expf (B m zero x) z t.