Proof using.
handler_unfold.
intros.
repeat break_match; repeat tuple_inversion; subst.
- find_apply_lem_hyp null_sound. find_rewrite. simpl.
intuition. left. eexists. intuition.
- simpl. find_apply_lem_hyp null_false_neq_nil.
intuition. left. eexists. intuition.
- simpl. intuition.
- simpl. destruct st; simpl in *; subst; intuition.
- simpl in *. intuition.
- simpl in *. intuition eauto.
- simpl. intuition.
Qed.
Definition message_enables_label p l :=
forall net,
In p (nwPackets net) ->
lb_step_ex lb_step_async l net.

(* Specifications: *)
Lemma Lock_enables_MsgLock :
forall i,
message_enables_label (mkPacket (Client i) Server Lock) (MsgLock i).