Proof using.
unfold cont_enabled.
intros.
apply always_continuously.
eapply always_monotonic;
[|eapply always_inv; eauto; eauto using lb_step_execution_invar];
eauto using InputUnlock_enabled.
Qed.

(* Specifications: *)
Lemma held_until_Unlock :
forall c s,
lb_step_execution lb_step_async s ->
held (nwState (evt_a (hd s)) (Client c)) = true ->
weak_until (fun s => held (nwState (evt_a (hd s)) (Client c)) = true)
(next (fun s => In (mkPacket (Client c) Server Unlock) (nwPackets (evt_a (hd s)))))
s.