Proof using olpti.
unfold raft_net_invariant_client_request.
intros.
unfold leader_sublog_invariant, leader_sublog_nw_invariant,
leader_sublog_host_invariant, handleClientRequest in *. intuition idtac.
- break_match; find_inversion; simpl in *; repeat find_higher_order_rewrite;
repeat break_if; subst; simpl in *;
intuition eauto;
simpl in *; in_crush_finish; intuition eauto. in_crush; eauto.
exfalso.
match goal with
| H : raft_intermediate_reachable _ |- _ =>
eapply one_leader_per_term_invariant in H
end.
assert (leader = h) by (eapply_prop one_leader_per_term; eauto).
intuition.
- break_match; find_inversion; simpl in *; repeat find_higher_order_rewrite;
repeat break_if; find_apply_hyp_hyp; intuition eauto; subst.
simpl in *.
in_crush; eauto.
Qed.

Lemma leader_sublog_timeout :
raft_net_invariant_timeout
leader_sublog_invariant.