Proof using.
handler_unfold.
intros.
repeat break_match; repeat tuple_inversion;
subst; simpl in *; subst; simpl in *.
- left. eexists. intuition.
- left. eexists. intuition.
- left. eexists. intuition.
- auto.
- auto.
Qed.

Lemma ClientNetHandler_lbcases :
forall c m st l out st' ms,
ClientNetHandler c m st = (l, out, st', ms) ->
ms = [] /\
((st' = st /\ out = [] /\ l = Nop) \/
(m = Locked /\ out = [Locked] /\ held st' = true /\ l = MsgLocked c)).