| 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) |
⊦ Rely(m, cs1, cs2) ∧ Rely(m, cs2, cs3) ∧ Inv(cs1) → Rely(m, cs1, cs3)
¬(Rely(m + 1, cs1, cs2) ∧ Rely(m + 1, cs2, cs3) ∧ Inv(cs1)), 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)
Used terms: cs2, cs3, cs1, m + 1