Proof using.
intros.
pose proof (@clients_move_way_up_in_queue n 0 c s).
pose proof (Nat.le_0_l n).
repeat concludes. conclude_using ltac:(intuition; congruence).
eapply eventually_monotonic_simple; [|eauto].
intros. simpl in *. intuition.
Qed.

(* Specifications: *)
Lemma InputLock_Lock :
forall s c,
lb_step_execution lb_step_async s ->
now (occurred (InputLock c)) s ->
next (fun s => In (mkPacket (Client c) Server Lock) (nwPackets (evt_a (hd s)))) s.