| (a0 ' + x0)[m] = a0, m ≤ # x0, ∀ m0, b0. m0 < # x0 → #oc(x0[m0], x0[m0, b0]) = #oc(x0[m0], x0) - 1 ∨ x0[m0] = b0 ⊦ #oc(a0, a0 ' + x0[m -1, b]) = #oc(a0, x0), a0 = b, m = 0 |
(a0 ' + x0)[m] = a0, m ≤ # x0, ∀ m0, b0. m0 < # x0 → #oc(x0[m0], x0[m0, b0]) = #oc(x0[m0], x0) - 1 ∨ x0[m0] = b0 ⊦ 1 + #oc(a0, x0[m - 1, b]) = #oc(a0, x0), a0 = b, m = 0
Used simplifier rules: ocappend: ⊦ #oc(a, x + y) = #oc(a, x) + #oc(a, y);%one: ⊦ #oc(a, a ') = 1;%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ n -1 = n - 1; (s)