(* THERE EXISTS j <= n S.T. zj = t: INDUCTIVE DEF. *)

Fixpoint ex_j
 (m:fmap)(z t:dart)(n:nat){struct n}:Prop:=
match n with
   0%nat => z = t
 | S n0 => Iter (f m) n z = t \/ ex_j m z t n0
end.

Lemma ex_j_exist_j:forall(m:fmap)(z t:dart)(n:nat), ex_j m z t n <-> exists j :nat, (j <= n)%nat /\ Iter (f m) j z = t.