(* OK!! BUT omega IS LONG... *)

Definition R1
 (m:fmap)(z:dart)(i:nat)(s:set):Prop:=
   let sr := Iter_rem_aux m z s in
   let n := Iter_upb_aux m z s in
      (ndN m - card s <= i <= n)%nat -> 
       ~ exds sr (Iter (f m) i z).

(* Specifications: *)
Lemma LR1 : forall(m:fmap)(z:dart)(i:nat)(s:set), let sr := Iter_rem_aux m z s in let n := Iter_upb_aux m z s in (ndN m - card s <= i <= n)%nat -> ~ exds sr (Iter (f m) i z).
Lemma not_exds_Iter_f_i : forall(m:fmap)(z:dart)(i:nat), let sr := Iter_rem m z in let n := Iter_upb m z in (i <= n)%nat -> ~ exds sr (Iter (f m) i z).
Lemma exds_Iter_f_i : forall(m:fmap)(z:dart)(i:nat), inv_hmap m -> exd m z -> let s := Iter_orb m z in let n := Iter_upb m z in (i <= n)%nat -> exds s (Iter (f m) i z).