Section FIND_LABEL.
Variable ce: composite_env.
Variable lbl: label.
Variable tyret: type.

Lemma transl_find_label:
forall s nbrk ncnt k ts tk
(TR: transl_statement ce tyret nbrk ncnt s = OK ts)
(MC: match_cont ce tyret nbrk ncnt k tk),
match Clight.find_label lbl s k with
| None => find_label lbl ts tk = None
| Some (s', k') =>
exists ts', exists tk', exists nbrk', exists ncnt',
find_label lbl ts tk = Some (ts', tk')
/\ transl_statement ce tyret nbrk' ncnt' s' = OK ts'
/\ match_cont ce tyret nbrk' ncnt' k' tk'
end
with transl_find_label_ls:
forall ls nbrk ncnt k tls tk
(TR: transl_lbl_stmt ce tyret nbrk ncnt ls = OK tls)
(MC: match_cont ce tyret nbrk ncnt k tk),
match Clight.find_label_ls lbl ls k with
| None => find_label_ls lbl tls tk = None
| Some (s', k') =>
exists ts', exists tk', exists nbrk', exists ncnt',
find_label_ls lbl tls tk = Some (ts', tk')
/\ transl_statement ce tyret nbrk' ncnt' s' = OK ts'
/\ match_cont ce tyret nbrk' ncnt' k' tk'
end.