Proof using.
unfold update_elections_data_requestVoteReply.
intros. repeat break_match; repeat tuple_inversion; intuition.
Qed.

Lemma votes_update_elections_data_request_vote_intro :
forall h st t src lli llt st' m h',
handleRequestVote h (snd st) t src lli llt = (st', m) ->
votedFor st' = Some h' ->
currentTerm (snd st) < currentTerm st' \/ votedFor (snd st) = None ->
In (currentTerm st', h')
(votes (update_elections_data_requestVote h src t src lli llt st)).