Proof using lltsi.
intros.
find_copy_eapply_lem_hyp leaderLogs_term_sanity_invariant; eauto.
find_eapply_lem_hyp leaderLogs_currentTerm_invariant; eauto.
omega.
Qed.
Arguments dedup : simpl never.

(* Specifications: *)
Lemma leaderLogs_candidate_entries_rvr :
forall net,
leaderLogs_candidateEntries net ->
votes_correct net ->
cronies_correct net ->
forall p h t ll e,
In (t, ll) (leaderLogs (fst (nwState net h))) ->
In e ll ->
In p (nwPackets net) ->
pBody p = RequestVoteReply (eTerm e) true ->
currentTerm (snd (nwState net (pDst p))) = eTerm e ->
wonElection (dedup name_eq_dec (pSrc p :: votesReceived (snd (nwState net (pDst p))))) = true ->
type (snd (nwState net (pDst p))) <> Candidate.