| #oc(a0, x) ≤ #oc(a0, y), #oc(a0, y -1l a) < #oc(a0, x -1l a), a0 ∈ x -1l a, a0 ∈ x ⊦ |
⊦ a ≠ b → #oc(a, x -1l b) = #oc(a, x)
Used simplifier rules: del1: ⊦ a ∈ x → #oc(a, x -1l a) = #oc(a, x) -1;%in-05: ⊦ a ∈ x → #oc(a, x) ≠ 0;%oc-zero: ⊦ #oc(a, x) = 0 ↔ ¬ a ∈ x;%del1-01: ⊦ a ≠ b → #oc(a, x -1l b) = #oc(a, x);%le-ls-simp: ⊦ m ≤ n → (n < m ↔ false); from specification nat%pred-03: ⊦ n -1 = n - 1; from specification nat%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%ls: n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n; from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%in-01-01: ⊦ a ∈ x -1l b → a ∈ x; (forward) from specification list-del%sub-ls: ⊦ ¬ n + (m - n) < m; from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2 Used terms: a, y, a0