Proof using.
intros. unfold no_entries_past_current_term in *. intuition.
- unfold no_entries_past_current_term_host in *.
intros. simpl in *. find_higher_order_rewrite.
break_if; eauto. subst.
repeat find_rewrite. eapply le_trans; [|eauto].
eauto.
- unfold no_entries_past_current_term_nw.
intros. simpl in *.
find_apply_hyp_hyp.
match goal with
| _ : In ?p _ |- _ =>
assert (In p (nwPackets net)) by (find_rewrite; in_crush)
end.
eapply_prop no_entries_past_current_term_nw; eauto.
Qed.

Lemma handleAppendEntriesReply_spec :
forall h st h' t es r st' ms,
handleAppendEntriesReply h st h' t es r = (st', ms) ->
(currentTerm st <= currentTerm st' /\
log st' = log st /\
(forall m, In m ms -> ~ is_append_entries (snd m))).