Section RETADDR_EXISTS.
Hypothesis transl_instr_tail:
forall f i ep k c, transl_instr f i ep k = OK c -> is_tail k c.
Hypothesis transf_function_inv:
forall f tf, transf_function f = OK tf ->
exists tc, exists ep, transl_code f (Mach.fn_code f) ep = OK tc /\ is_tail tc (fn_code tf).
Hypothesis transf_function_len:
forall f tf, transf_function f = OK tf -> list_length_z (fn_code tf) <= Ptrofs.max_unsigned.
End RETADDR_EXISTS.
Remark code_tail_no_bigger:
forall pos c1 c2, code_tail pos c1 c2 -> (length c2 <= length c1)%nat.
Remark code_tail_unique:
forall fn c pos pos',
code_tail pos fn c -> code_tail pos' fn c -> pos = pos'.

Lemma return_address_offset_correct:
forall ge b ofs fb f c tf tc ofs',
transl_code_at_pc ge (Vptr b ofs) fb f c false tf tc ->
return_address_offset f c ofs' ->
ofs' = ofs.