Proof using.
red. unfold log_properties_hold_on_ghost_logs. intros.
simpl in *.
subst.
find_apply_hyp_hyp; intuition; repeat find_rewrite;
try solve [eapply_prop_hyp msg_log_property msg_log_property; eauto].
subst. simpl in *.
unfold write_ghost_log. simpl in *.
replace d with (snd (nwState {| nwPackets := ps'; nwState := st' |} (pDst p)))
by (simpl; repeat find_higher_order_rewrite; rewrite_update; reflexivity).
eauto.
Qed.

(* Specifications: *)
Lemma log_properties_hold_on_ghost_logs_request_vote :
msg_refined_raft_net_invariant_request_vote' log_properties_hold_on_ghost_logs.