Proof using rvtsi.
red. unfold votedFor_term_sanity in *. simpl in *.
intros. subst. repeat find_higher_order_rewrite.
destruct_update; simpl in *; eauto.
- find_copy_eapply_lem_hyp update_elections_data_request_vote_votedFor; eauto.
intuition; repeat find_rewrite; eauto.
eapply requestVote_term_sanity_invariant; eauto.
- find_copy_apply_lem_hyp handleRequestVote_currentTerm_leaderId.
intuition; repeat find_rewrite; eauto;
eapply_prop_hyp RaftState.votedFor RaftState.votedFor; eauto;
try rewrite <- plus_n_O in *; omega.
Qed.

(* Specifications: *)
Lemma votedFor_term_sanity_timeout :
refined_raft_net_invariant_timeout votedFor_term_sanity.