(*========================================================
 EXISTENCY PROPERTIES OF ITERATED DARTS, upb IN ORBITS...:
	       WITH NOETHERIAN IND. 
=======================================================*)

(* FOR THE FOLLOWING LEMMA: *)

Definition P1
 (m:fmap)(z:dart)(s:set):Prop:=
    let sr := Iter_rem_aux m z s in
    let n := Iter_upb_aux m z s in
    ~ exds sr (Iter (f m) n z).

(* Specifications: *)
Lemma not_exds_rem_upb : forall(m:fmap)(z:dart)(s:set), let sr := Iter_rem_aux m z s in let n := Iter_upb_aux m z s in ~ exds sr (Iter (f m) n z).
Lemma not_exds_Iter_rem_upb : forall(m:fmap)(z:dart), let n:= Iter_upb m z in ~ exds (Iter_rem m z) (Iter (f m) n z).
Lemma exd_Iter_upb: forall(m:fmap)(z:dart), inv_hmap m -> exd m z -> exd m (Iter (f m) (Iter_upb m z) z).
Lemma exd_Iter_orb_upb : forall(m:fmap)(z:dart), inv_hmap m -> exd m z -> let n:= Iter_upb m z in exds (Iter_orb m z) (Iter (f m) n z).
Lemma exds_rem_orb:forall(m:fmap)(z t:dart), inv_hmap m -> exd m t -> (~exds (Iter_rem m z) t <-> exds (Iter_orb m z) t).