(** * Syntactic properties of the translation *)
(** Preservation of code labels through the translation. *)
Section LABELS.
Remark find_label_save_callee_save:
forall lbl l ofs k,
Mach.find_label lbl (save_callee_save_rec l ofs k) = Mach.find_label lbl k.
Remark find_label_restore_callee_save:
forall lbl l ofs k,
Mach.find_label lbl (restore_callee_save_rec l ofs k) = Mach.find_label lbl k.

(* Specifications: *)
Lemma transl_code_eq:
forall fe i c, transl_code fe (i :: c) = transl_instr fe i (transl_code fe c).
Lemma find_label_transl_code:
forall fe lbl c,
Mach.find_label lbl (transl_code fe c) =
option_map (transl_code fe) (Linear.find_label lbl c).
Lemma transl_find_label:
forall f tf lbl c,
transf_function f = OK tf ->
Linear.find_label lbl f.(Linear.fn_code) = Some c ->
Mach.find_label lbl tf.(Mach.fn_code) =
Some (transl_code (make_env (function_bounds f)) c).