Proof using.
set_up_net_handlers;
eauto using locks_correct_unlock_sent_lock, nwnw_locked_lock,
locks_correct_unlock_at_head_preserved, snoc_at_head_of_queue_preserved,
nwnw_unlock_lock, nil_at_head_of_queue_preserved.
Qed.

(* Specifications: *)
Lemma locks_correct_locked_at_head_preserved :
forall sigma st' p,
locks_correct_locked sigma p ->
(forall c, at_head_of_queue sigma c -> at_head_of_queue (update name_eq_dec sigma Server st') c) ->
locks_correct_locked (update name_eq_dec sigma Server st') p.
Lemma locks_correct_locked_at_head_preserved :
forall sigma st' p,
locks_correct_locked sigma p ->
(forall c, at_head_of_queue sigma c -> at_head_of_queue (update name_eq_dec sigma Server st') c) ->
locks_correct_locked (update name_eq_dec sigma Server st') p.