(** Commutation between translation and the "find label" operation. *)
Section FIND_LABEL.
Variable lbl: label.
Definition nolabel (s: statement) : Prop :=
forall k, find_label lbl s k = None.
Fixpoint nolabel_list (sl: list statement) : Prop :=
match sl with
| nil => True
| s1 :: sl' => nolabel s1 /\ nolabel_list sl'
end.

Lemma nolabel_do_set:
forall sd a, nolabel_list (do_set sd a).