Proof using.
unfold raft_net_invariant_client_request, no_entries_past_current_term.
intuition.
- unfold no_entries_past_current_term_host in *.
intros. simpl in *.
find_higher_order_rewrite; break_if; eauto.
unfold handleClientRequest in *.
subst.
break_match; find_inversion; eauto.
simpl in *. intuition. subst; simpl in *; auto.
- eauto using no_entries_past_current_term_nw_no_append_entries,
handleClientRequest_messages.
Qed.

(* Specifications: *)
Lemma handleTimeout_spec :
forall h d os d' ms,
handleTimeout h d = (os, d', ms) ->
log d' = log d /\ currentTerm d <= currentTerm d' /\
( forall m, In m ms -> ~ is_append_entries (snd m)).