| (Rton(n)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Poton(n)(S) ∧ GInv(S);Gton(n)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S'))), □ (Rton(n)(S', S'') ∧ (GInv(S') → GInv(S''))) → ◇ last, [:Inpf, S, Outf | SPAWN#(n; Inpf, S, Outf)], GInit(S) ⊦ (Rton(n)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Poton(n)(S) ∧ GInv(S);(Gton(n)(S, S') ∧ ¬ blocked) ∧ (GInv(S) → GInv(S'))) ∧ (□ (Rton(n)(S', S'') ∧ GInv(S) ∧ GInv(S')) → ◇ last) |
□ (Rton(n)(S', S'') ∧ GInv(S) ∧ GInv(S')), [:Inpf, S, Outf | SPAWN#(n; Inpf, S, Outf)], GInv(S'') -+-> (Gton(n)(S, S') ∧ ¬ blocked), GInit(S) ⊦ ◇ last, □ GInv(S'')