Proof using.
handler_unfold.
intros.
repeat break_match; repeat tuple_inversion;
subst; simpl in *; subst; simpl in *.
- left. eexists. intuition.
- left. eexists. intuition.
- left. eexists. intuition.
- auto.
- auto.
Qed.

Lemma locks_correct_update_false :
forall sigma st' x,
locks_correct sigma ->
held st' = false ->
locks_correct (update name_eq_dec sigma (Client x) st').