Proof using.
start.
unfold update_elections_data_requestVoteReply.
break_match; unfold raft_data in *;
try solve [repeat find_rewrite; congruence].
simpl in *.
match goal with
| |- context [ handleRequestVoteReply ?h ?st ?s ?t ?v ] =>
pose proof handleRequestVoteReply_spec h st s t v (handleRequestVoteReply h st s t v)
end. intuition; break_if; intuition; simpl in *; repeat find_rewrite; eauto; congruence.
Qed.

Lemma leaders_have_leaderLogs_clientRequest :
refined_raft_net_invariant_client_request leaders_have_leaderLogs.