| ⊦ x[m] = a ∧ a ≠ b ∧ m < # x → #oc(a, x[m, b]) = #oc(a, x) -1 |
∀ m, a, b. x0[m] = a ∧ a ≠ b ∧ m < # x0 → #oc(a, x0[m, b]) = #oc(a, x0) -1 ⊦ (a0 + x0)[m] = a ∧ a ≠ b ∧ m < #(a0 + x0) → #oc(a, (a0 + x0)[m, b]) = #oc(a, a0 + x0) -1
Used simplifier rules: oc-e: ⊦ #oc(a, []) = 0;%list freely generated by [], +;;%pred-03: ⊦ n -1 = n - 1; from specification nat%size-01: ⊦ # [] = 0; from specification list-data%zero-01: ⊦ ¬ m < 0; from specification nat-basic1