Proof using lmi rri.
intros.
pose proof (lift_prop _ log_matching_invariant).
forward_invariant.
unfold log_matching, log_matching_nw, entries_match_nw_1 in *. break_and.
intros.
repeat find_apply_lem_hyp ghost_packet.
match goal with
| [ H : forall _ _ _ _ _ _ , _,
Hp : In (deghost_packet ?p) _,
Hp' : In (deghost_packet ?p') _,
Hes : pBody ?p = AppendEntries _ _ _ _ ?es _,
Hes' : pBody ?p' = AppendEntries _ _ _ _ ?es' _,
He'' : In ?e'' ?es
|- In ?e'' ?es' ] =>
specialize (H _ _ _ _ _ _ _ Hp Hes); break_and;
match goal with
| [ H' : forall _ _ _ _ _ _ , _ |- _ ] =>
specialize (H' _ _ _ _ _ _ _ Hp' Hes')
end
end.
match goal with
| [ H : forall _ _, In _ _ -> _ |- _ ] => eapply H with (e1 := e) (e2 := e'); auto
end.
Qed.

(* Specifications: *)
Lemma entries_match_nw_host_invariant :
forall net,
refined_raft_intermediate_reachable net ->
entries_match_nw_host net.