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.Remark dest_for_effect_below: forall g, dest_below For_effects g.

Lemma finish_meets_spec_1: forall dst sl a sl' a', finish dst sl a = (sl', a') -> sl' = sl ++ final dst a.