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.

(* Specifications: *)
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.
Lemma leaderLogs_entries_match_append_entries : refined_raft_net_invariant_append_entries leaderLogs_entries_match.
Lemma leaderLogs_entries_match_append_entries_reply : refined_raft_net_invariant_append_entries_reply leaderLogs_entries_match.
Lemma handleRequestVote_packets : forall h st t candidate lli llt st' m, handleRequestVote h st t candidate lli llt = (st', m) -> ~ is_append_entries m.
Lemma leaderLogs_entries_match_request_vote : refined_raft_net_invariant_request_vote leaderLogs_entries_match.
Lemma leaderLogs_entries_match_request_vote_reply : refined_raft_net_invariant_request_vote_reply leaderLogs_entries_match.
Lemma leaderLogs_entries_match_do_leader : refined_raft_net_invariant_do_leader leaderLogs_entries_match.
Lemma leaderLogs_entries_match_do_generic_server : refined_raft_net_invariant_do_generic_server leaderLogs_entries_match.
Lemma leaderLogs_entries_match_state_same_packet_subset : refined_raft_net_invariant_state_same_packet_subset leaderLogs_entries_match.
Lemma leaderLogs_entries_match_reboot : refined_raft_net_invariant_reboot leaderLogs_entries_match.
Lemma leaderLogs_entries_match_invariant : forall net, refined_raft_intermediate_reachable net -> leaderLogs_entries_match net.