Proof using.
set_up_net_handlers;
eauto using nwnw_sym, nwnw_lock, nw_empty_queue_lock, nwnw_unlock_lock.
Qed.

(* Specifications: *)
Lemma LockServ_nwnw_net_handlers_new_new :
forall p sigma u st' out ms,
NetHandler (pDst p) (pSrc p) (pBody p) (sigma (pDst p)) = (u, out, st', ms) ->
locks_correct sigma ->
LockServ_network_invariant sigma p ->
distinct_pairs_and LockServ_network_network_invariant
(map (fun m => mkPacket (pDst p) (fst m) (snd m)) ms).
Lemma LockServ_nwnw_net_handlers_new_new :
forall p sigma u st' out ms,
NetHandler (pDst p) (pSrc p) (pBody p) (sigma (pDst p)) = (u, out, st', ms) ->
locks_correct sigma ->
LockServ_network_invariant sigma p ->
distinct_pairs_and LockServ_network_network_invariant
(map (fun m => mkPacket (pDst p) (fst m) (snd m)) ms).