Definition pn_step (this to : nid) (d : dstatelet)
           (msg : seq nat)
           (pf : pn_safe this to d msg) :=
  let C := pn_safe_coh pf in 
  let s := getStP C (pn_this_in (proj1 pf)) in
  let l := getStL C (pn_this_in (proj1 pf)) in
  Some (mkLocal (pstep_send s l commit)).

(* Specifications: *)
Lemma pn_step_coh : s_step_coh_t coh ptag pn_step.
Lemma pn_safe_def this to d msg : pn_safe this to d msg <-> exists b pf, @pn_step this to d msg pf = Some b.