Proof using.
unfold LockServ_network_network_invariant.
intros.
destruct (pBody q); intuition; try discriminate.
Qed.

(* Specifications: *)
Lemma nwnw_unlock_lock :
forall p q,
LockServ_network_network_invariant p q ->
pBody p = Unlock ->
pBody q = Lock.
Lemma locks_correct_unlock_at_head :
forall sigma p c,
pSrc p = Client c ->
pBody p = Unlock ->
locks_correct_unlock sigma p ->
at_head_of_queue sigma c.
Lemma nwnw_unlock_lock :
forall p q,
LockServ_network_network_invariant p q ->
pBody p = Unlock ->
pBody q = Lock.
Lemma locks_correct_unlock_at_head :
forall sigma p c,
pSrc p = Client c ->
pBody p = Unlock ->
locks_correct_unlock sigma p ->
at_head_of_queue sigma c.