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.