(* THEN, OK: *)

(* Specifications: *)
Lemma between_expf_L0:forall (m:fmap)(x y z t:dart),
inv_hmap (L m zero x y) ->
let x_1 := cA_1 m one x in
let y_0_1 := cF m y in
let x0 := cA m zero x in
(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 (L m zero x y) z t.
Theorem orb_x_eqs_orb_y0: forall(m:fmap)(x y:dart),
let m1:= L m one x y in
let y0:= cA m zero y in
inv_hmap m1 -> ~expf m x y0 ->
eqs (MF.Iter_orb m1 x) (MF.Iter_orb m1 y0).
Theorem degree_L1_split_x_y_1:
forall(m:fmap)(x y:dart)(j:nat),
let m1:= L m one x y in
let y0 := cA m zero y in
let y_1 := cA_1 m one y in
let dx:= MF.degree m x in
y_1 = Iter (cF m) j x ->
inv_hmap m1 ->
1 <= j <= dx -1 ->
expf m x y0 ->
MF.degree m1 x = j.