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 loc_unconstrained_satisf:
forall rs ls k r mr e v,
let l := R mr in
satisf rs ls (remove_equation (Eq k r l) e) ->
loc_unconstrained (R mr) (remove_equation (Eq k r l) e) = true ->
Val.lessdef (sel_val k rs#r) v ->
satisf rs (Locmap.set l v ls) e.