| ⊦ 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) |
⊦ RG-restr(Init, Inv, R1, G1, Pre1, Post1, Runs1, R2, G2, Pre2, Post2, Runs2) ↔ (∀ s, s0. (G1(s, s0) → R2(s, s0)) ∧ (G2(s, s0) → R1(s, s0)) ∧ (Pre1(s) ∧ R1(s, s0) → Pre1(s0)) ∧ (Pre2(s) ∧ R2(s, s0) → Pre2(s0)) ∧ (Post1(s) ∧ R1(s, s0) → Post1(s0)) ∧ (Post2(s) ∧ R2(s, s0) → Post2(s0))) ∧ (∀ s, s0, s1. (R1(s, s0) ∧ R1(s0, s1) → R1(s, s1)) ∧ (R2(s, s0) ∧ R2(s0, s1) → R2(s, s1))) ∧ (∀ s. (∃ s. Init(s)) ∧ (Init(s) → Pre1(s) ∧ Pre2(s) ∧ Inv(s)) ∧ R1(s, s) ∧ R2(s, s) ∧ (Inv(s) → Runs1(s) ∨ Runs2(s)) ∧ (Post1(s) → Runs2(s)) ∧ (Post2(s) → Runs1(s)))
⊦ (∀ 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)) ∧ (Prton(n0)(s) ∧ Rton(n0)(s, s0) → Prton(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) ∧ Prton(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))
Used terms: λ s. true, Poton(n0), Prton(n0), Gton(n0), Rton(n0), λ s. true, Po(n0 + 1), Pr(n0 + 1), Gr(n0 + 1), Ry(n0 + 1), GInv, GInit