Module ESD2 := FSetDecide.Decide(EqSet2).
Remark val_lessdef_normalize:
forall v v' ty,
Val.has_type v ty -> Val.lessdef v v' ->
Val.lessdef v (Val.load_result (chunk_of_type ty) v').

Lemma subst_loc_undef_satisf:
forall env src dst rs ls ml e e',
subst_loc dst src e = Some e' ->
well_typed_move env dst e = true ->
can_undef_except dst ml e = true ->
wt_regset env rs ->
satisf rs ls e' ->
satisf rs (Locmap.set dst (ls src) (undef_regs ml ls)) e.