Proof using.
red. unfold in_log_in_all_entries. intros. simpl in *.
subst. repeat find_higher_order_rewrite.
destruct_update; simpl in *; eauto.
find_eapply_lem_hyp update_elections_data_appendEntries_log_allEntries; eauto.
intuition; repeat find_rewrite; eauto;
match goal with
| H : allEntries _ = _ |- _ => rewrite H in *
end; eauto.
- copy_eapply_prop_hyp In In.
break_exists_exists.
apply in_app_iff.
eauto.
- eexists.
apply in_app_iff.
left.
apply in_map_iff.
eexists; intuition; eauto.
- do_in_app. intuition.
+ eexists.
apply in_app_iff.
left.
apply in_map_iff.
eexists; intuition; eauto.
+ find_apply_lem_hyp removeAfterIndex_in.
copy_eapply_prop_hyp In In.
break_exists_exists.
apply in_app_iff.
eauto.
Qed.

(* Specifications: *)
Lemma in_log_in_all_entries_append_entries_reply :
refined_raft_net_invariant_append_entries_reply in_log_in_all_entries.