Ltac set_up_net_handlers :=
    intros;
    match goal with
      | [ H : context [ NetHandler (pDst ?p) _ _ _ ] |- _ ] =>
        destruct (pDst p) eqn:?
    end; simpl in *;
    [find_apply_lem_hyp ClientNetHandler_cases |
     find_apply_lem_hyp ServerNetHandler_cases; intuition; try break_exists ];
    intuition; subst;
    simpl in *; intuition;
    repeat find_rewrite;
    repeat find_inversion;
    simpl in *;
    try now rewrite update_nop_ext.

Lemma locks_correct_unlock_input_handlers_new : forall h i sigma u st' out ms p, InputHandler h i (sigma h) = (u, out, st', ms) -> locks_correct sigma -> In (pDst p, pBody p) ms -> pSrc p = h -> locks_correct_unlock (update name_eq_dec sigma h st') p.