Proof using.
unfold locks_correct_locked.
firstorder.
repeat find_rewrite. find_inversion.
eauto using at_head_of_queue_intro.
Qed.

(* Specifications: *)
Lemma all_clients_false_locks_correct_server_update :
forall sigma st,
(forall c, held (sigma (Client c)) = false) ->
locks_correct (update name_eq_dec sigma Server st).
Lemma all_clients_false_locks_correct_server_update :
forall sigma st,
(forall c, held (sigma (Client c)) = false) ->
locks_correct (update name_eq_dec sigma Server st).