Remark in_elements_between_1:
forall r1 s q,
EqSet.In q (EqSet.elements_between (select_reg_l r1) (select_reg_h r1) s) <-> EqSet.In q s /\ ereg q = r1.

Lemma subst_reg_satisf:
forall src dst rs ls e,
satisf rs ls (subst_reg dst src e) ->
satisf (rs#dst <- (rs#src)) ls e.