| act2(m + 1) ↔ act1(m + 1), Idle(m + 1, cs1) ↔ Idle(m + 1, cs3), Idle(m + 1, cs2) ↔ Idle(m + 1, cs3), act3(m + 1) ↔ act1(m + 1), m < n, CInv(n, act1, cs1), CInv(n, act3, cs3), Rely(m + 1, cs2, cs3), CInv(n, act2, cs2), Rely(m + 1, cs1, cs2) ⊦ n = 0, Rely(m + 1, cs1, cs3), Inv(cs1) |
⊦ CInv(m, act, cs) ↔ Inv(cs) ∧ (∀ m0. m < m0 → Idle(m0, cs) ∧ ¬ act(m0))
Used terms: cs1, act1, n