Module ESF2 := FSetFacts.Facts(EqSet2).
Module ESP2 := FSetProperties.Properties(EqSet2).
Module ESD2 := FSetDecide.Decide(EqSet2).

Lemma well_typed_move_charact:
forall env l e k r rs,
well_typed_move env l e = true ->
EqSet.In (Eq k r l) e ->
wt_regset env rs ->
match l with
| R mr => True
| S sl ofs ty => Val.has_type (sel_val k rs#r) ty
end.