| #oc(y[n], y) = m + 1, n < # y, y[n] ∈ y, y[n] ∈ y[n, a] ∨ y[n] ∈ y -1l y[n] ⊦ #oc(y[n], y[n, a]) = m, y[n] = a, y = [] |
⊦ x[m] = a ∧ a ≠ b ∧ m < # x → #oc(a, x[m, b]) = #oc(a, x) -1
Used simplifier rules: ⊦ n -1 = n - 1; (s)% ⊦ n ≤ m → m + n0 - n = (m - n) + n0; (s)% ⊦ n + 0 = n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: a, n, y, y[n]