| #oc(y[n], y) = m + 1, y[n] ∈ y, n < # y, y[n] ∈ y[n, a] -1l a ∨ y[n] ∈ y -1l y[n] ⊦ y = [], #oc(y[n], y[n, a] -1l a) = m |
⊦ a ≠ b → #oc(a, x -1l b) = #oc(a, x)
y[n] ≠ a, #oc(y[n], y) = m + 1, y[n] ∈ y, n < # y, y[n] ∈ y[n, a] -1l a ∨ y[n] ∈ y -1l y[n] ⊦ y = [], #oc(y[n], y[n, a]) = m
Used simplifier rules: del1: ⊦ a ∈ x → #oc(a, x -1l a) = #oc(a, x) -1;%putset-same: ⊦ n < # x → x[n, x[n]] = x; from specification list-del%pred-03: ⊦ n -1 = n - 1; from specification nat%in-01-01: ⊦ a ∈ x -1l b → a ∈ x; (forward) from specification list-del%add-01: ⊦ n ≤ m → m + n0 - n = (m - n) + n0; from specification nat%add-base: ⊦ n + 0 = n; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2 Used terms: a, y[n, a], y[n]