| m < n, CInv(n, act1, cs1), CInv(n, act3, cs3), ∀ m0. m0 ≤ m → CRely(m0, act2, cs2, act3, cs3), CInv(n, act2, cs2), ∀ m0. m0 ≤ m → CRely(m0, act1, cs1, act2, cs2) ⊦ n = 0, ∀ m0. m0 ≤ m → CRely(m0, act1, cs1, act3, cs3) |
m0 ≤ m, m < n, CInv(n, act1, cs1), CInv(n, act3, cs3), CInv(n, act2, cs2), m0 < n, ∀ m0. m0 ≤ m → CRely(m0, act2, cs2, act3, cs3), ∀ m0. m0 ≤ m → CRely(m0, act1, cs1, act2, cs2) ⊦ n = 0, CRely(m0, act1, cs1, act3, cs3)
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat