Proof using.
move => net.
rewrite /deserialize_odnet.
rewrite /pt_map_odnet /pt_map_data /= /id /= /pt_map_msg.
set fm := fun _ _ => filterMap _ _.
rewrite map_id.
set s := fun _ => match _ with _ => _ end.
have H_eq: odnwState net = s.
rewrite /s.
apply functional_extensionality => n.
by case: odnwState.
by rewrite H_eq.
Qed.

(* Specifications: *)
Lemma step_async_deserialized_simulation :
forall net net' tr,
@step_async _ serialized_multi_params net net' tr ->
@step_async _ orig_multi_params (deserialize_net net) (deserialize_net net') tr \/
(deserialize_net net' = deserialize_net net).