(* Lemma transl_expr_lvalue_correct: (forall a v, Clight.eval_expr ge e le m a v -> forall ta (TR: transl_expr a = OK ta) tv (TV: val_inject j v tv), Csharpminor.eval_expr tge te tle tm ta tv) /\(forall a b ofs, Clight.eval_lvalue ge e le m a b ofs -> forall ta (TR: transl_lvalue a = OK ta) tv (TV: val_inject j (Vptr b ofs) tv), Csharpminor.eval_expr tge te le m ta tv). *)

Lemma transl_expr_correct: forall a v,
Clight.eval_expr ge e le m a v ->
forall ta, transl_expr a = OK ta ->
exists tv, val_inject j v tv /\
eval_expr tge te tle tm ta tv.