Proof using.
unfold update_elections_data_requestVote.
intros.
repeat break_match; repeat find_inversion; auto.
Qed.

(* Specifications: *)
Lemma leaderLogs_update_elections_data_RVR :
forall h src t1 v st t2 ll st',
handleRequestVoteReply h (snd st) src t1 v = st' ->
In (t2, ll) (leaderLogs (update_elections_data_requestVoteReply h src t1 v st)) ->
In (t2, ll) (leaderLogs (fst st)) \/
(type st' = Leader /\
type (snd st) = Candidate /\
t2 = currentTerm st' /\
ll = log st').