Proof using cci vci cei rri.
unfold raft_net_invariant_request_vote_reply.
unfold leader_sublog_invariant, leader_sublog_nw_invariant,
leader_sublog_host_invariant, handleRequestVoteReply, advanceCurrentTerm.
intuition idtac; simpl in *.
- repeat find_higher_order_rewrite; repeat break_match; repeat find_inversion;
subst; simpl in *; intuition eauto; try discriminate.
+ exfalso. eapply candidate_entries_lowered; eauto.
+ rewrite dedup_not_in_cons in * by auto.
exfalso. eapply candidate_entries_lowered_rvr; eauto.
do_bool.
find_rewrite.
f_equal.
omega.
- repeat find_higher_order_rewrite; repeat break_match; repeat find_inversion;
subst; simpl in *; intuition eauto;
find_apply_hyp_hyp; intuition eauto; subst; try discriminate.
+ exfalso. eapply candidate_entries_lowered_nw; eauto.
+ rewrite dedup_not_in_cons in * by auto.
exfalso. eapply candidate_entries_lowered_nw_rvr; eauto.
do_bool.
find_rewrite.
f_equal.
omega.
Qed.

Lemma leader_sublog_do_generic_server :
raft_net_invariant_do_generic_server
leader_sublog_invariant.