Definition dest_below (dst: destination) (g: generator) : Prop :=
match dst with
| For_set sd => Plt (sd_temp sd) g.(gen_next)
| _ => True
end.
Remark dest_for_val_below: forall g, dest_below For_val g.

Lemma dest_for_set_seqbool_set:
forall sd ty g, dest_below (For_set sd) g -> dest_below (For_set (sd_seqbool_set ty sd)) g.