Proof using.
move => l; case => /= src dst m p.
case H_m: (pt_map_msg m) => [m'|] // H_eq.
injection H_eq => H_eq_p.
rewrite -H_eq_p /=.
exact: filterMap_pt_map_packet_map_eq.
Qed.

(* Specifications: *)
Lemma pt_map_update_eq :
forall f h d,
(fun n : name => pt_map_data (update name_eq_dec f h d (tot_map_name_inv n))) =
update name_eq_dec (fun n : name => pt_map_data (f (tot_map_name_inv n))) (tot_map_name h) (pt_map_data d).