Section Fixpoints.
Variables (T : choiceType) (U : {fset T}).
Definition sub_fun (F : {fset T} -> {fset T}) (X : {set U}) : {set U} :=
fsub U (F [fsetval x in X]).
Variable (F : {fset T} -> {fset T}).
Hypothesis (F_mono : {homo F : X Y / X `<=` Y}).
Hypothesis (F_bound : {homo F : X / X `<=` U}).
Notation Fsub := (sub_fun F).
Notation iterF := (fun i => iter i F fset0).
Hint Resolve Fsub_mono : core.
Definition fixfset := [fsetval x in fixset Fsub].
Hint Resolve fixfsetK : core.
Definition ffix_order (x : T) :=
if x \in U =P true is ReflectT xU then fix_order Fsub [` xU] else 0.

Lemma fnd_set V (f : {fmap K -> V}) k0 v0 k :
f.[k0 <- v0].[? k] = if k == k0 then Some v0 else f.[? k].