Section CandidateEntriesInterface.
Context {orig_base_params : BaseParams}.
Context {one_node_params : OneNodeParams orig_base_params}.
Context {raft_params : RaftParams orig_base_params}.
Context {rri : raft_refinement_interface}.
Context {cci : cronies_correct_interface}.
Context {cti : cronies_term_interface}.
Context {cei : candidate_entries_interface}.
Context {lltsi : leaderLogs_term_sanity_interface}.
Ltac start :=
red; unfold leaderLogs_candidateEntries; simpl; intros.
Proof using.
start. contradiction.
Qed.
Proof using.
start.
eapply candidateEntries_ext; eauto.
repeat find_higher_order_rewrite.
assert (candidateEntries e (nwState net)).
{ update_destruct; rewrite_update; simpl in *.
- find_rewrite_lem update_elections_data_client_request_leaderLogs. eauto.
- eauto. }
eapply candidateEntries_same.
- eauto.
- intros. update_destruct; rewrite_update; [|auto].
simpl. subst. eauto using update_elections_data_client_request_cronies.
- intros. update_destruct; rewrite_update; [|auto].
simpl. subst. find_apply_lem_hyp handleClientRequest_type. intuition.
- intros. update_destruct; rewrite_update; [|auto].
simpl. subst. find_apply_lem_hyp handleClientRequest_type. intuition.
Qed.

Lemma leaderLogs_candidateEntries_timeout :
refined_raft_net_invariant_timeout leaderLogs_candidateEntries.