| x[m] = a, m < # x ⊦ #oc(a, x[m, b]) = #oc(a, x) -1, a = b |
(a0 + x0)[m] = a, m < #(a0 + x0), ∀ m, a, b. x0[m] = a ∧ m < # x0 → #oc(a, x0[m, b]) = #oc(a, x0) -1 ∨ a = b ⊦ #oc(a, (a0 + x0)[m, b]) = #oc(a, a0 + x0) -1, a = b
Used simplifier rules: oc-e: ⊦ #oc(a, []) = 0;%list freely generated by [], +;;% ⊦ n -1 = n - 1; (s)% ⊦ # [] = 0; (s)% ⊦ ¬ m < 0; (s)