| #oc(y[n], y) = m + 1, n < # y, y[n] ∈ y, y[n] ∈ y[n, a] -1l a ∨ y[n] ∈ y -1l y[n] ⊦ #oc(y[n], y[n, a] -1l a) = m, y = [] |
⊦ a ≠ b → #oc(a, x -1l b) = #oc(a, x)
#oc(y[n], y) = m + 1, n < # y, y[n] ∈ y, y[n] ∈ y[n, a] -1l a ∨ y[n] ∈ y -1l y[n] ⊦ #oc(y[n], y[n, a]) = m, y[n] = a, y = []
Used simplifier rules: del1: ⊦ a ∈ x → #oc(a, x -1l a) = #oc(a, x) -1;% ⊦ n < # x → x[n, x[n]] = x; (s)% ⊦ n -1 = n - 1; (s)%in-01-01: ⊦ a ∈ x -1l b → a ∈ x; (forward) from specification list-del% ⊦ 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, y[n, a], y[n]