| # s0 = #(s0 \ s) + # s, # s ≤ # s0, a ∈ s0, a0 ∈ s0, ∀ a0. a0 ∈ s ++ a → a0 ∈ s0 ⊦ #(s0 \ s) - 1 = # s0 - # s + 1, a ∈ s |
n ≤ m ⊦ n0 = m - n ↔ m = n0 + n
¬ # s + 1 ≤ # s0, # s0 = #(s0 \ s) + # s, # s ≤ # s0, a ∈ s0, a0 ∈ s0, ∀ a0. a0 ∈ s ++ a → a0 ∈ s0 ⊦ #(s0 \ s) - 1 = # s0 - # s + 1, a ∈ s
Used simplifier rules: lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%succ-01: ⊦ m + 1 ≤ n ↔ m < n; from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; from specification nat-basic1%l-01: ⊦ m < m + n ↔ n ≠ 0; from specification nat-basic2%eq-02: n ≤ m ⊦ (m - n) + n0 = n1 ↔ m + n0 = n + n1; from specification nat%eq-01: ⊦ m + n = m + n0 ↔ n = n0; from specification nat-basic2 Used terms: # s + 1, # s0, #(s0 \ s) - 1