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 in_subst_reg: forall r1 r2 q (e: eqs), EqSet.In q e -> ereg q = r1 /\ EqSet.In (Eq (ekind q) r2 (eloc q)) (subst_reg r1 r2 e) \/ ereg q <> r1 /\ EqSet.In q (subst_reg r1 r2 e).