(** * Semantic preservation for instruction selection. *)
(** Relationship between the local environments. *)
Definition env_lessdef (e1 e2: env) : Prop :=
forall id v1, e1!id = Some v1 -> exists v2, e2!id = Some v2 /\ Val.lessdef v1 v2.

Lemma set_locals_lessdef:
forall e1 e2, env_lessdef e1 e2 ->
forall il, env_lessdef (set_locals il e1) (set_locals il e2).