Proof using.
intros.
pose proof (@InputUnlock_continuously_enabled s c). intuition.
eapply_prop_hyp weak_fairness cont_enabled; [|now unfold label_silent].
solve_by_inversion.
Qed.

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