(** Evaluation of expressions *)
Section EVAL_EXPR.
Variables e te: env.
Variables le tle: temp_env.
Variables m tm: mem.
Variable f: meminj.
Variable cenv: compilenv.
Variables lo hi tlo thi: block.
Hypothesis MATCH: match_envs f cenv e le m lo hi te tle tlo thi.
Hypothesis MEMINJ: Mem.inject f m tm.
Hypothesis GLOB: exists bound, match_globalenvs f bound.

Lemma deref_loc_inject:
forall ty loc ofs v loc' ofs',
deref_loc ty m loc ofs v ->
Val.inject f (Vptr loc ofs) (Vptr loc' ofs') ->
exists tv, deref_loc ty tm loc' ofs' tv /\ Val.inject f v tv.