Proof using.
red. intros.
match goal with
| H : nwState ?net ?h = (?gd, ?d) |- _ =>
replace gd with (fst (nwState net h)) in * by (rewrite H; reflexivity);
replace d with (snd (nwState net h)) in * by (rewrite H; reflexivity);
clear H
end.
split; red; intros; simpl in *; intuition;
unfold ghost_log_entries_match in *; break_and.
- repeat find_higher_order_rewrite; destruct_update; simpl in *; eauto;
repeat find_reverse_rewrite; eauto.
- repeat find_reverse_rewrite; eauto.
Qed.

(* Specifications: *)
Lemma ghost_log_entries_match_state_same_packet_subset :
msg_refined_raft_net_invariant_state_same_packet_subset ghost_log_entries_match.