Section CandidateEntriesProof.
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 {cti : cronies_term_interface}.
Context {tsi : term_sanity_interface}.
Context {vci : votes_correct_interface}.
Context {cci : cronies_correct_interface}.

Lemma handleClientRequest_spec :
forall h d client id c out d' l,
handleClientRequest h d client id c = (out, d', l) ->
currentTerm d' = currentTerm d /\
type d' = type d /\
l = [] /\
(forall e, In e (log d') ->
(In e (log d) \/ (e = (mkEntry
h
client
id
(S (maxIndex (log d)))
(currentTerm d)
c) /\ log d' = e :: log d /\ type d' = Leader))).