Proof using.
unfold at_head_of_queue.
firstorder.
Qed.

(* Specifications: *)
Lemma locks_correct_update_true :
forall sigma c st',
held st' = true ->
at_head_of_queue sigma c ->
locks_correct sigma ->
locks_correct (update name_eq_dec sigma (Client c) st').
Lemma locks_correct_update_true :
forall sigma c st',
held st' = true ->
at_head_of_queue sigma c ->
locks_correct sigma ->
locks_correct (update name_eq_dec sigma (Client c) st').