(** ** Monotonicity properties *)
(** We first show that the [aval] and [visited] parts of the state evolve monotonically: - at each step, the values of the [aval[n]] either remain the same or increase with respect to the [optge] ordering; - every node visited in the past remains visited in the future. *)

(* Specifications: *)
Lemma step_incr:
forall n s1 s2, step s1 = inr s2 ->
optge s2.(aval)!n s1.(aval)!n /\ (s1.(visited) n -> s2.(visited) n).
Lemma steps_incr:
forall n s1 s2, steps s1 s2 ->
optge s2.(aval)!n s1.(aval)!n /\ (s1.(visited) n -> s2.(visited) n).