Proof using.
unfold update_elections_data_requestVoteReply.
intros.
repeat break_match; auto.
simpl in *. intuition.
Qed.

Lemma update_elections_data_requestVoteReply_leaderLogs' :
forall h h' t  st t' ll' r,
In (t', ll') (leaderLogs (update_elections_data_requestVoteReply h h' t r st)) ->
In (t', ll') (leaderLogs (fst st))
\/ (r = true
/\ t = currentTerm (snd st)
/\ ll' = log (snd st)
/\ t' = currentTerm (snd st)
/\ type (snd st) = Candidate
/\ wonElection (dedup name_eq_dec (h' :: votesReceived (snd st))) = true).