Proof using.
unfold candidateEntries.
intros. break_exists. break_and.
exists x.
split.
- rewrite update_fun_comm. simpl.
rewrite update_fun_comm. simpl.
rewrite update_elections_data_appendEntries_cronies_same.
destruct (name_eq_dec x h); subst; rewrite_update; auto.
- intros.
rewrite update_fun_comm. simpl.
find_rewrite_lem update_fun_comm. simpl in *.
destruct (name_eq_dec x h); subst; rewrite_update; auto.
find_apply_lem_hyp handleAppendEntries_term_same_or_type_follower.
intro; intuition;
repeat find_rewrite; auto; discriminate.
Qed.

(* Specifications: *)
Lemma is_append_entries_intro :
forall t n plt pli es ci,
is_append_entries (AppendEntries t n pli plt es ci).