| Σ ints0 ≤ i0 * n→i(# ints0), i0 * (1 + n→i(# ints0)) < i + Σ ints0, i ≤ i0, ∀ i1. i1 ∈ ints0 → i1 ≤ i0 ⊦ |
(1 + n→i(# ints0)) * i0 < i + i0 * n→i(# ints0), Σ ints0 ≤ i0 * n→i(# ints0), i0 * (1 + n→i(# ints0)) < i + Σ ints0, i ≤ i0, ∀ i1. i1 ∈ ints0 → i1 ≤ i0 ⊦
Used simplifier rules: lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%forward-lels: ⊦ i ≤ j ∧ j < j0 → i < j0; (forward) from specification int-abs%ls-01: ⊦ i + j < i + i0 ↔ j < i0; from specification int-basic2%lenls: ⊦ i ≤ j → ¬ j < i; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used formulas: (1 + n→i(# ints0)) * i0 < i + i0 * n→i(# ints0)