(* FROM WHERE, THE NECESSARY AND SUFFICIENT CONDITION: *)

Theorem expf_L0_CNS:forall (m:fmap)(x y z t:dart),
inv_hmap (L m zero x y) -> exd m z ->
(expf (L m zero x y) z t <->
let x0 := cA m zero x in
let x_1 := cA_1 m one x in
let y_0:= cA_1 m zero y in
let y_0_1 := cA_1 m one y_0 in
(if expf_dec m x_1 y
then betweenf m x_1 z y /\ betweenf m x_1 t y
\/ betweenf m y_0_1 z x0 /\ betweenf m y_0_1 t x0
\/ ~ expf m x_1 z /\ expf m z t
else   expf m z t
\/ expf m z y /\ expf m t x0
\/ expf m t y /\ expf m z x0)).