| □ (Outf = Outf' ∧ Inpf = Inpf'), [:S | [PL GInv(S) ∧ Pr(n0 + 1)(S) ∧ (Ry(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Po(n0 + 1)(S) ∧ GInv(S);Gr(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S'))) ] ∥ [PL ¬ GInv(S) ∨ ¬ Prton(n0)(S)] ], Prton(n0 + 1)(S), GInv(S) ⊦ (Rton(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Poton(n0 + 1)(S) ∧ GInv(S);Gton(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S'))) |
[:S | [PL (R1(S', S'') ∧ (Inv(S') → Inv(S''))) -+-> (last ⊃ Post1(S);G1(S, S') ∧ (Inv(S) → Inv(S')) ∧ (Inv(S) ∧ Runs1(S) → ¬ blocked))] ∥ [PL ¬ Pre2(S) ∨ ¬ Inv(S)] ], RG-restr(Init, Inv, R1, G1, Pre1, Post1, Runs1, R2, G2, Pre2, Post2, Runs2), Inv(S), Pre2(S) ⊦ (R1(S', S'') ∧ R2(S', S'') ∧ (Inv(S') → Inv(S''))) -+-> (last ⊃ Post1(S) ∧ Post2(S) ∧ Inv(S);(G1(S, S') ∨ G2(S, S')) ∧ (Inv(S) → Inv(S')) ∧ ¬ blocked)
□ (Outf = Outf' ∧ Inpf = Inpf'), [:S | [PL GInv(S) ∧ Pr(n0 + 1)(S) ∧ (Ry(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Po(n0 + 1)(S) ∧ GInv(S);Gr(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S'))) ] ∥ [PL ¬ GInv(S) ∨ ¬ Prton(n0)(S)] ], Prton(n0 + 1)(S), GInv(S) ⊦ [:S | [PL (Ry(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Po(n0 + 1)(S);Gr(n0 + 1)(S, S') ∧ (GInv(S) → GInv(S')) ∧ (GInv(S) ∧ true → ¬ blocked)) ] ∥ [PL ¬ Prton(n0)(S) ∨ ¬ GInv(S)] ] ∧ RG-restr(GInit, GInv, Ry(n0 + 1), Gr(n0 + 1), Pr(n0 + 1), Po(n0 + 1), λ s. true, Rton(n0), Gton(n0), Prton(n0), Poton(n0), λ s. true) ∧ Prton(n0)(S), (Rton(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Poton(n0 + 1)(S) ∧ GInv(S);Gton(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S')))
(Ry(n0 + 1)(S', S'') ∧ Rton(n0)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Po(n0 + 1)(S) ∧ Poton(n0)(S) ∧ GInv(S);(Gr(n0 + 1)(S, S') ∨ Gton(n0)(S, S')) ∧ (GInv(S) → GInv(S')) ∧ ¬ blocked), □ (Outf = Outf' ∧ Inpf = Inpf'), [:S | [PL GInv(S) ∧ Pr(n0 + 1)(S) ∧ (Ry(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Po(n0 + 1)(S) ∧ GInv(S);Gr(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S'))) ] ∥ [PL ¬ GInv(S) ∨ ¬ Prton(n0)(S)] ], Prton(n0 + 1)(S), GInv(S) ⊦ (Rton(n0 + 1)(S', S'') ∧ (GInv(S') → GInv(S''))) -+-> (last ⊃ Poton(n0 + 1)(S) ∧ GInv(S);Gton(n0 + 1)(S, S') ∧ ¬ blocked ∧ (GInv(S) → GInv(S')))
Used terms: Ry(n0 + 1), S, GInv, Po(n0 + 1), Gr(n0 + 1), λ s. true, Prton(n0), GInit, Pr(n0 + 1), Rton(n0), Gton(n0), Poton(n0), λ s. true