(** Semantic preservation for expressions. *)
Section EXPRESSIONS.
Variable cunit: Cminor.program.
Variable hf: helper_functions.
Hypothesis LINK: linkorder cunit prog.
Hypothesis HF: helper_functions_declared cunit hf.

Lemma sel_builtin_args_correct:
forall sp e e' m m',
env_lessdef e e' -> Mem.extends m m' ->
forall al vl,
Cminor.eval_exprlist ge sp e m al vl ->
forall cl,
exists vl',
list_forall2 (CminorSel.eval_builtin_arg tge sp e' m')
(sel_builtin_args al cl)
vl'
/\ Val.lessdef_list vl vl'.