Proof using rvrtsi.
red. unfold requestVote_maxIndex_maxTerm. intros. simpl in *.
subst. repeat find_higher_order_rewrite.
destruct_update; simpl in *; eauto.
- find_apply_hyp_hyp. break_or_hyp.
+ exfalso.
find_eapply_lem_hyp update_elections_data_timeout_votesWithLog_votesReceived; eauto.
intuition; try congruence.
find_apply_lem_hyp requestVote_term_sanity_invariant.
eapply_prop_hyp requestVote_term_sanity pBody; eauto.
unfold raft_data in *; simpl in *; unfold raft_data in *; simpl in *.
omega.
+ do_in_map. remember (pSrc p). subst p.
simpl in *.
intuition; eapply handleTimeout_messages; eauto.
- find_apply_hyp_hyp. break_or_hyp; eauto.
do_in_map. subst. simpl in *. intuition.
Qed.

(* Specifications: *)
Lemma requestVote_maxIndex_maxTerm_client_request :
refined_raft_net_invariant_client_request requestVote_maxIndex_maxTerm.