| # x = # y, ∀ a. a ∈ y → a ∈ x, a0 ∈ x → a0 ∈ y, ∀ a. a ∈ x → a ∈ y ⊦ #oc(a0, y) ≤ #oc(a0, x), dups(x), dups(y) |
# x = # y, #oc(a0, y) = 1, a0 ∈ y, ∀ a. a ∈ y → a ∈ x, ∀ a. a ∈ x → a ∈ y ⊦ dups(x), dups(y), a0 ∈ x
Used simplifier rules: oc-dups: ⊦ n < #oc(a, x) ∧ ¬ dups(x) → #oc(a, x) = 1;%oc-zero: ⊦ #oc(a, x) = 0 ↔ ¬ a ∈ x;%notin: ⊦ ¬ a ∈ x → #oc(a, x) = 0;%zero: ⊦ 0 < m ↔ m ≠ 0; from specification nat-basic1%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat