(* THIS APPLIES TO THE nr-th ITERATED *)

(* Specifications: *)
Lemma ex_i_upb :forall(m:fmap)(z:dart),
inv_hmap m -> exd m z ->
let nr:= Iter_upb m z in
{i : nat | (i < nr)%nat /\ Iter (f m) i z = Iter (f m) nr z}.