(***********************************************************)
(* Lemmas about specific sub-predicates *)

Lemma pt_PhaseTwoCommitE d e dt lg pt to ds tms:
let d' :=   {|
dstate := upd cn ds (dstate d);
dsoup := (post_msg (dsoup d) (Msg tms cn to true)).1
|} in
coh d -> pt \in pts -> pt == to = false ->
(forall z : nat, (z == cn) = false -> loc z d' = loc z d) ->
pt_PhaseTwoCommit d e dt lg pt ->
pt_PhaseTwoCommit d' e dt lg pt.