End FIND_LABEL.

(* Specifications: *)
Lemma transl_find_label_body:
forall cenv xenv size f tf k tk cs lbl s' k',
transl_funbody cenv size f = OK tf ->
match_cont k tk cenv xenv cs ->
Csharpminor.find_label lbl f.(Csharpminor.fn_body) (Csharpminor.call_cont k) = Some (s', k') ->
exists ts', exists tk', exists xenv',
find_label lbl tf.(fn_body) (call_cont tk) = Some(ts', tk')
/\ transl_stmt cenv xenv' s' = OK ts'
/\ match_cont k' tk' cenv xenv' cs.
Lemma step_simulation:
forall S1 t S2, step1 ge S1 t S2 ->
forall S1' (MS: match_states S1 S1'), exists S2', plus step2 tge S1' t S2' /\ match_states S2 S2'.
Lemma initial_states_simulation:
forall S, initial_state prog S ->
exists R, initial_state tprog R /\ match_states S R.
Lemma final_states_simulation:
forall S R r,
match_states S R -> final_state S r -> final_state R r.
Theorem transf_program_correct:
forward_simulation (semantics1 prog) (semantics2 tprog).