Section PrevLogCandidateEntriesTerm.
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 {cei : candidate_entries_interface}.
Context {cti : cronies_term_interface}.
Context {cci : cronies_correct_interface}.
Proof using.
unfold refined_raft_net_invariant_init, prevLog_candidateEntriesTerm.
simpl. intuition.
Qed.
Proof using.
unfold candidateEntriesTerm.
intros. break_exists_exists.
repeat find_higher_order_rewrite. intuition.
Qed.

Lemma candidateEntriesTerm_same : forall st st' t,
candidateEntriesTerm t st ->
(forall h, cronies (fst (st' h)) = cronies (fst (st h))) ->
(forall h, currentTerm (snd (st' h)) = currentTerm (snd (st h))) ->
(forall h, type (snd (st' h)) = type (snd (st h))) ->
candidateEntriesTerm t st'.