(** Correctness of [add_branch]. *)

(* Specifications: *)
Lemma is_tail_find_label:
forall lbl c2 c1,
find_label lbl c1 = Some c2 -> is_tail c2 c1.
Lemma is_tail_add_branch:
forall lbl c1 c2, is_tail (add_branch lbl c1) c2 -> is_tail c1 c2.
Lemma is_tail_lin_block:
forall b c1 c2,
is_tail (linearize_block b c1) c2 -> is_tail c1 c2.
Lemma add_branch_correct:
forall lbl c k s f tf sp ls m,
transf_function f = OK tf ->
is_tail k tf.(fn_code) ->
find_label lbl tf.(fn_code) = Some c ->
plus step tge (State s tf sp (add_branch lbl k) ls m)
E0 (State s tf sp c ls m).