(** Unique label property for linearized code. *)

(* Specifications: *)
Lemma label_in_add_branch:
forall lbl s k,
In (Llabel lbl) (add_branch s k) -> In (Llabel lbl) k.
Lemma label_in_lin_block:
forall lbl k b,
In (Llabel lbl) (linearize_block b k) -> In (Llabel lbl) k.
Lemma label_in_lin_rec:
forall f lbl enum,
In (Llabel lbl) (linearize_body f enum) -> In lbl enum.
Lemma unique_labels_add_branch:
forall lbl k,
unique_labels k -> unique_labels (add_branch lbl k).
Lemma unique_labels_lin_block:
forall k b,
unique_labels k -> unique_labels (linearize_block b k).
Lemma unique_labels_lin_rec:
forall f enum,
list_norepet enum ->
unique_labels (linearize_body f enum).
Lemma unique_labels_transf_function:
forall f tf,
transf_function f = OK tf ->
unique_labels (fn_code tf).