(* Lemma locmap_undef_lessdef: forall ll ls1 ls2, locmap_lessdef ls1 ls2 -> locmap_lessdef (Locmap.undef ll ls1) (Locmap.undef ll ls2).  Lemma locmap_undef_lessdef_1: forall ll ls1 ls2, locmap_lessdef ls1 ls2 -> locmap_lessdef (Locmap.undef ll ls1) ls2. *)

(* Specifications: *)
Lemma locmap_getpair_lessdef:
forall p ls1 ls2,
locmap_lessdef ls1 ls2 -> Val.lessdef (Locmap.getpair p ls1) (Locmap.getpair p ls2).
Lemma locmap_getpairs_lessdef:
forall pl ls1 ls2,
locmap_lessdef ls1 ls2 ->
Val.lessdef_list (map (fun p => Locmap.getpair p ls1) pl) (map (fun p => Locmap.getpair p ls2) pl).
Lemma locmap_setpair_lessdef:
forall p ls1 ls2 v1 v2,
locmap_lessdef ls1 ls2 -> Val.lessdef v1 v2 -> locmap_lessdef (Locmap.setpair p v1 ls1) (Locmap.setpair p v2 ls2).
Lemma locmap_setres_lessdef:
forall res ls1 ls2 v1 v2,
locmap_lessdef ls1 ls2 -> Val.lessdef v1 v2 -> locmap_lessdef (Locmap.setres res v1 ls1) (Locmap.setres res v2 ls2).
Lemma locmap_undef_caller_save_regs_lessdef:
forall ls1 ls2,
locmap_lessdef ls1 ls2 -> locmap_lessdef (undef_caller_save_regs ls1) (undef_caller_save_regs ls2).
Lemma find_function_translated:
forall ros ls tls fd,
locmap_lessdef ls tls ->
find_function ge ros ls = Some fd ->
find_function tge ros tls = Some (tunnel_fundef fd).
Lemma call_regs_lessdef:
forall ls1 ls2, locmap_lessdef ls1 ls2 -> locmap_lessdef (call_regs ls1) (call_regs ls2).
Lemma return_regs_lessdef:
forall caller1 callee1 caller2 callee2,
locmap_lessdef caller1 caller2 ->
locmap_lessdef callee1 callee2 ->
locmap_lessdef (return_regs caller1 callee1) (return_regs caller2 callee2).