(*===========================================================
                between in f-ORBITS:
==========================================================*)

(* v IS between z AND t IN AN f-ORBIT: *)

Definition between(m:fmap)(z v t:dart):Prop:=
 inv_hmap m -> exd m z ->  
  exists i:nat, exists j:nat, 
   Iter (f m) i z = v /\
     Iter (f m) j z = t /\
       (i <= j < Iter_upb m z)%nat.

Lemma expo_between_3:forall(m:fmap)(x y z:dart), inv_hmap m -> expo1 m x y -> expo1 m x z -> between m x z y \/ between m (f m y) z (f_1 m x).