(** ** Correctness with a weakly monotonic function *)
Section WeakMonotonicCorrect.
Variable F: function X Y.
Hypothesis HF: wmonotonic TX TY F.
Variable R: relation2 X Y.
Hypothesis HRt: simulation_t TX TY R.
Hypothesis HRa: evolve_a TX TY R (F R).
(** first induction predicate *)
Let silent: forall n, simulation_t TX TY (UExp F R n).

(** correction w.r.t. silent steps *)
Lemma wmonotonic_correct_t: simulation_t TX TY (UIter F R).
Let visible: forall n, evolve_a TX TY (UExp F R n) (UExp F R (S n)).