| act3(m0) ↔ act1(m0), Idle(m0, cs2) ↔ Idle(m0, cs3), Idle(m0, cs1) ↔ Idle(m0, cs3), act2(m0) ↔ act1(m0), Rely(m0, cs1, cs2), Rely(m0, cs2, cs3), m0 < n, CInv(n, act2, cs2), CInv(n, act3, cs3), CInv(n, act1, cs1), m < n, m0 ≤ m ⊦ n = 0, CRely(m0, act1, cs1, act3, cs3) |
⊦ CRely(m, act1, cs1, act2, cs2) ↔ Rely(m, cs1, cs2) ∧ (Idle(m, cs1) ↔ Idle(m, cs2)) ∧ (act2(m) ↔ act1(m))
act3(m0) ↔ act1(m0), Idle(m0, cs2) ↔ Idle(m0, cs3), Idle(m0, cs1) ↔ Idle(m0, cs3), act2(m0) ↔ act1(m0), Rely(m0, cs1, cs2), Rely(m0, cs2, cs3), m0 < n, CInv(n, act2, cs2), CInv(n, act3, cs3), CInv(n, act1, cs1), m < n, m0 ≤ m ⊦ n = 0, Rely(m0, cs1, cs3) ∧ (Idle(m0, cs1) ↔ Idle(m0, cs3)) ∧ (act3(m0) ↔ act1(m0))
Used terms: cs3, act3, cs1, act1, m0