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

Lemma transl_find_label:
forall s j nbrk ncnt k ts tk
(TR: transl_statement tyret nbrk ncnt s = OK ts)
(MC: match_cont j 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 tyret nbrk' ncnt' s' = OK ts'
/\ match_cont j tyret nbrk' ncnt' k' tk'
end
with transl_find_label_ls:
forall ls j nbrk ncnt k tls tk
(TR: transl_lbl_stmt tyret nbrk ncnt ls = OK tls)
(MC: match_cont j 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 tyret nbrk' ncnt' s' = OK ts'
/\ match_cont j tyret nbrk' ncnt' k' tk'
end.