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

(* REFLEXIVE EXISTENCE OF A PATH: *)

Definition expo(m:fmap)(z t:dart):Prop:=
   exd m z /\ exists i:nat, Iter (f m) i z = t.(* FOR THE DECIDABILITY: ... *)

Definition expo1
 (m:fmap)(z t:dart):Prop:=
   exd m z /\
     let p:= Iter_upb m z in 
       exists j:nat, (j < p)%nat /\ Iter (f m) j z = t.

(* Specifications: *)
Lemma expo_expo1: forall(m:fmap)(z t:dart), inv_hmap m -> (expo m z t <-> expo1 m z t).