Ltac start :=
    red; unfold append_entries_came_from_leaders; intros;
    subst; simpl in *; find_higher_order_rewrite;
    update_destruct_hyp; subst; rewrite_update; eauto; simpl in *.Ltac prove_in :=
    match goal with
      | [ _ : nwPackets ?net = _,
              _ : In (?p : packet) _ |- _] =>
        assert (In p (nwPackets net)) by (repeat find_rewrite; do_in_app; intuition)
      | [ _ : nwPackets ?net = _,
              _ : pBody ?p = _ |- _] =>
        assert (In p (nwPackets net)) by (repeat find_rewrite; intuition)
    end.Ltac contra :=  (exfalso; intuition; find_false;
                   repeat eexists; eauto).

Theorem append_entries_came_from_leaders_invariant : forall net, refined_raft_intermediate_reachable net -> append_entries_came_from_leaders net.