| Init(CS), ∀ n0. ¬ Act(n0), ¬(m ≤ n → CInit(m, Act, CS)) ∨ ¬ CInv(n, Act, CS) ⊦ [: Act, Inp, CS, Outp | CRelyto(n, Act', CS', Act'', CS'') , CGuarto(n, Act, CS, Act', CS') , CInv(n, Act, CS) , CSPAWN(n; Act, Inp, CS, Outp) ] CInv(n, Act, CS) |
⊦ CInv(m, act, cs) ↔ Inv(cs) ∧ (∀ m0. m < m0 → Idle(m0, cs) ∧ ¬ act(m0))
Init(CS), ∀ n0. ¬ Act(n0), ¬(m ≤ n → CInit(m, Act, CS)) ∨ ¬(Inv(CS) ∧ (∀ m0. n < m0 → Idle(m0, CS) ∧ ¬ Act(m0))) ⊦ [: Act, Inp, CS, Outp | CRelyto(n, Act', CS', Act'', CS'') , CGuarto(n, Act, CS, Act', CS') , (Inv(CS) ∧ (∀ m0. n < m0 → Idle(m0, CS) ∧ ¬ Act(m0))) , CSPAWN(n; Act, Inp, CS, Outp) ] (Inv(CS) ∧ (∀ m0. n < m0 → Idle(m0, CS) ∧ ¬ Act(m0)))
Used terms: CS, Act, n