| n ≠ 0, m0 < n, RG-restr (n, λ n, act, cs, act0, cs0. CRely(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuar(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInit(m0 + 1, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0), CInv, λ n, act, cs, act0, cs0. CRelyto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuarto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInitto(m0, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0)), CInit(m0 + 1, Act, CS), CInv(n, Act, CS), ¬ Idle(m0 + 1, CS) ⊦ (CRely(m0 + 1, Act', CS', Act'', CS'') ∧ (CInv(n, Act', CS') → CInv(n, Act'', CS''))) -+-> (last ⊃ CInv(n, Act, CS);CGuar(m0 + 1, Act, CS, Act', CS') ∧ (CInv(n, Act, CS) → CInv(n, Act', CS'))) |
⊦ CInit(m, act1, cs1) ↔ Idle(m, cs1) ∧ ¬ act1(m)
Used terms: CS, Act, m0 + 1