| ⊦ (∀ s, s0. (Gr(n0 + 1)(s, s0) → Rton(n0)(s, s0)) ∧ (Gton(n0)(s, s0) → Ry(n0 + 1)(s, s0)) ∧ (Pr(n0 + 1)(s) ∧ Ry(n0 + 1)(s, s0) → Pr(n0 + 1)(s0)) ∧ (Pr(n0)(s) ∧ Rton(n0)(s, s0) → Pr(n0)(s0)) ∧ (Po(n0 + 1)(s) ∧ Ry(n0 + 1)(s, s0) → Po(n0 + 1)(s0)) ∧ (Poton(n0)(s) ∧ Rton(n0)(s, s0) → Poton(n0)(s0))) ∧ (∀ s, s0, s1. (Ry(n0 + 1)(s, s0) ∧ Ry(n0 + 1)(s0, s1) → Ry(n0 + 1)(s, s1)) ∧ (Rton(n0)(s, s0) ∧ Rton(n0)(s0, s1) → Rton(n0)(s, s1))) ∧ (∀ s. (∃ s. GInit(s)) ∧ (GInit(s) → Pr(n0 + 1)(s) ∧ Pr(n0)(s) ∧ GInv(s)) ∧ Ry(n0 + 1)(s, s) ∧ Rton(n0)(s, s) ∧ (GInv(s) → true ∨ true) ∧ (Po(n0 + 1)(s) → true) ∧ (Poton(n0)(s) → true)) |
⊦ (Gr(n0 + 1)(s, s0) → Rton(n0)(s, s0)) ∧ (Gton(n0)(s, s0) → Ry(n0 + 1)(s, s0)) ∧ (Pr(n0)(s) ∧ Rton(n0)(s, s0) → Pr(n0)(s0)) ∧ (Poton(n0)(s) ∧ Rton(n0)(s, s0) → Poton(n0)(s0)) ∧ (Ry(n0 + 1)(s1, s2) ∧ Ry(n0 + 1)(s2, s3) → Ry(n0 + 1)(s1, s3)) ∧ (Rton(n0)(s1, s2) ∧ Rton(n0)(s2, s3) → Rton(n0)(s1, s3)) ∧ (∃ s. GInit(s)) ∧ (GInit(s4) → Pr(n0 + 1)(s4) ∧ Pr(n0)(s4) ∧ GInv(s4)) ∧ Ry(n0 + 1)(s4, s4) ∧ Rton(n0)(s4, s4)
Used simplifier rules: rely-po: ⊦ Ry(m)(s, s0) ∧ Po(m)(s) → Po(m)(s0); from specification RGn%rely-pr: ⊦ Ry(m)(s, s0) ∧ Pr(m)(s) → Pr(m)(s0); from specification RGn