Proof using.
red.
split; red; intros; simpl in *; intuition;
unfold ghost_log_entries_match in *; break_and.
- repeat find_higher_order_rewrite; destruct_update; simpl in *; eauto.
erewrite handleRequestVoteReply_log; eauto.
- repeat find_apply_hyp_hyp; intuition; eauto;
repeat packet_simpl; eauto.
Qed.

(* Specifications: *)
Lemma sorted_entries_match_cons :
forall l l' e,
sorted (e :: l) ->
entries_match l l' ->
(~ exists e', eIndex e' = eIndex e /\ eTerm e' = eTerm e /\ In e'  l') ->
entries_match (e :: l) l'.