| n ≠ 0, RG-restr (n, λ n, act, cs, act0, cs0. CRely(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuar(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInit(m0 + 1, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0), CInv, λ n, act, cs, act0, cs0. CRelyto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuarto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInitto(m0, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0)), m0 < n, ∃ m1. m1 ≤ m0 ∧ CGuar(m1, Act, CS, Act', CS'), CInv(n, Act, CS) → CInv(n, Act', CS'), ∀ m. ¬ m ≤ m0 + 1 ∨ ¬ CGuar(m, Act, CS, Act', CS') ⊦ last |
n ≠ 0, RG-restr (n, λ n, act, cs, act0, cs0. CRely(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuar(m0 + 1, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInit(m0 + 1, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0), CInv, λ n, act, cs, act0, cs0. CRelyto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs, act0, cs0. CGuarto(m0, act, cs, act0, cs0) ∧ (CInv(n, act, cs) → CInv(n, act0, cs0)), λ n, act, cs. CInitto(m0, act, cs) ∧ CInv(n, act, cs), λ n, act, cs, act0, cs0. CInv(n, act0, cs0)), m0 < n, m ≤ m0, CGuar(m, Act, CS, Act', CS'), m < n, CInv(n, Act, CS) → CInv(n, Act', CS'), ∀ m. ¬ m ≤ m0 + 1 ∨ ¬ CGuar(m, Act, CS, Act', CS') ⊦ last
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat