| [: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) |
[:Inpf, S, Outf | SPAWN#(n; Inpf, S, Outf)], GInit(S) ⊦ (□ (Rton(n)(S', S'') ∧ (GInv(S') → GInv(S''))) → ◇ last) ∧ (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 ⊃ 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)
Used terms: Inpf, S, Outf, n