| # nextl(0, a) = ii(1) + 1, 1 + ii(n) = # x, lf(m + 1).tail = [], x[ii(n)] = lf(m).last, ii(0) = 0, ii(n0 + 1) = ii(n0) + # lf(n0 + 1) - 1, ii(m) = ii(n), lf(m + 1) = nextl(m, x[ii(n)]), lf(n0 + 1) = nextl(n0, lf(n0).last), lf(0) = a ', lf(1) = nextl(0, a), nextl(0, a) = a ' + y, x to ii(1) + 1 = nextl(0, a), (x from ii(n0)) to # lf(n0 + 1) = lf(n0 + 1), a ∈ nextl(0, a), ii(1) ≤ ii(n), ii(n0 + 1) ≤ ii(n), n ≤ m, ∀ n, a. nextl(n, a) ≠ [] ∧ nextl(n, a).head = a, ∀ n. lf(n + 1) = nextl(n, lf(n).last) ∧ lf(n) ≠ [], ∀ m, n. m ≤ n → ii(m) ≤ ii(n), ∀ n1. ii(n1 + 1) = ii(n1) + # lf(n1 + 1) - 1 ∧ ¬ ii(n) < ii(n1 + 1) ∧ (x from ii(n1)) to # lf(n1 + 1) = lf(n1 + 1) ⊦ lf(m) = [], lf(n0) = [], lf(m + 1) = x[ii(n)] ', nextl(0, a) = [], x = [] |
# nextl(0, a) = ii(1) + 1, 1 + ii(n) = # x, lf(m + 1).tail = [], x[ii(n)] = lf(m).last, ii(m) = ii(n), ii(n0 + 1) = ii(n0) + # lf(n0 + 1) - 1, ii(0) = 0, lf(m + 1) = [], lf(1) = nextl(0, a), lf(0) = a ', lf(n0 + 1) = nextl(n0, lf(n0).last), lf(m + 1) = nextl(m, x[ii(n)]), nextl(0, a) = a ' + y, (x from ii(n0)) to # lf(n0 + 1) = lf(n0 + 1), x to ii(1) + 1 = nextl(0, a), a ∈ nextl(0, a), n ≤ m, ii(n0 + 1) ≤ ii(n), ii(1) ≤ ii(n), ∀ n1. ii(n1 + 1) = ii(n1) + # lf(n1 + 1) - 1 ∧ ¬ ii(n) < ii(n1 + 1) ∧ (x from ii(n1)) to # lf(n1 + 1) = lf(n1 + 1), ∀ m, n. m ≤ n → ii(m) ≤ ii(n), ∀ n. lf(n + 1) = nextl(n, lf(n).last) ∧ lf(n) ≠ [], ∀ n, a. nextl(n, a) ≠ [] ∧ nextl(n, a).head = a ⊦ lf(m + 1) = x[ii(n)] ', lf(n0) = [], lf(m) = [], nextl(0, a) = [], x = []
# nextl(0, a) = ii(1) + 1, 1 + ii(n) = # x, x[ii(n)] = lf(m).last, ii(m) = ii(n), ii(n0 + 1) = ii(n0) + # lf(n0 + 1) - 1, ii(0) = 0, lf(1) = nextl(0, a), lf(0) = a ', lf(n0 + 1) = nextl(n0, lf(n0).last), lf(m + 1) = nextl(m, x[ii(n)]), lf(m + 1) = a0 + x0, nextl(0, a) = a ' + y, (x from ii(n0)) to # lf(n0 + 1) = lf(n0 + 1), x to ii(1) + 1 = nextl(0, a), x0 = [], a ∈ nextl(0, a), n ≤ m, ii(n0 + 1) ≤ ii(n), ii(1) ≤ ii(n), ∀ n1. ii(n1 + 1) = ii(n1) + # lf(n1 + 1) - 1 ∧ ¬ ii(n) < ii(n1 + 1) ∧ (x from ii(n1)) to # lf(n1 + 1) = lf(n1 + 1), ∀ m, n. m ≤ n → ii(m) ≤ ii(n), ∀ n. lf(n + 1) = nextl(n, lf(n).last) ∧ lf(n) ≠ [], ∀ n, a. nextl(n, a) ≠ [] ∧ nextl(n, a).head = a ⊦ lf(m + 1) = x[ii(n)] ', lf(n0) = [], lf(m) = [], lf(m + 1) = [], nextl(0, a) = [], x = []
Used simplifier rules: ⊦ x ≠ [] → (a = x.head ∧ x0 = x.tail ↔ x = a + x0); (elim) Used terms: lf(m + 1), a0, x