Proof using lmi rri.
intros.
find_apply_lem_hyp lifted_log_matching.
unfold log_matching, log_matching_nw in *.
break_and.
match goal with
| [ H : forall _ : packet , _ |- _ ] =>
do 7 insterU H;
conclude H ltac:(unfold deghost; simpl; eapply in_map_iff; eexists; eauto);
conclude H ltac:(simpl; eauto)
end.
intuition.
- rewrite <- deghost_spec with (net0 := net).
eapply H3 with (e1:=e1)(e2:=e2); eauto.
rewrite deghost_spec.  auto.
- rewrite <- deghost_spec with (net0 := net).
eapply H3 with (e1:=e1)(e2:=e2); eauto.
rewrite deghost_spec.  auto.
Qed.
Ltac use_log_matching_nw :=
pose proof (lifted_log_matching_nw _ ltac:(eauto));
match goal with
| [ H : _  |- _ ] =>
eapply H; [|eauto];
repeat find_rewrite; intuition
end.

Lemma handleAppendEntries_doesn't_send_AE :
forall n st t i l t' l' l'' st' m,
handleAppendEntries n st t i l t' l' l'' = (st', m) ->
~ is_append_entries m.