Remark select_loc_l_monotone:
forall l q1 q2,
OrderedEquation'.eq q1 q2 \/ OrderedEquation'.lt q1 q2 ->
select_loc_l l q1 = true -> select_loc_l l q2 = true.
Remark select_loc_h_monotone:
forall l q1 q2,
OrderedEquation'.eq q1 q2 \/ OrderedEquation'.lt q2 q1 ->
select_loc_h l q1 = true -> select_loc_h l q2 = true.
Remark select_loc_charact:
forall l q,
select_loc_l l q = false \/ select_loc_h l q = false <-> Loc.diff l (eloc q).

Lemma parallel_assignment_satisf_2:
forall rs ls res res' e e' v v',
remove_equations_res res res' e = Some e' ->
satisf rs ls e' ->
reg_unconstrained res e' = true ->
forallb (fun l => loc_unconstrained l e') (map R (regs_of_rpair res')) = true ->
Val.lessdef v v' ->
satisf (rs#res <- v) (Locmap.setpair res' v' ls) e.