Proof using.
red. unfold append_entries_came_from_leaders. intros.
subst. simpl in *.
find_apply_hyp_hyp. intuition eauto.
- prove_in. find_apply_hyp_hyp.
break_exists.
repeat find_higher_order_rewrite.
update_destruct; subst_max; rewrite_update; simpl in *; eauto; subst; auto.
rewrite update_elections_data_appendEntries_leaderLogs. repeat find_rewrite.
eauto.
- subst. simpl in *. subst.
find_apply_lem_hyp handleAppendEntries_not_append_entries.
exfalso. intuition. find_false.
repeat eexists; eauto.
Qed.

(* Specifications: *)
Lemma append_entries_came_from_leaders_appendEntriesReply :
refined_raft_net_invariant_append_entries_reply append_entries_came_from_leaders.