| 0 ≤ j0, 0 ≤ j, 0 ≤ i, j0 ≤ j, (j * (j + 1)) / 2 + j0 < ((i + 1) * (i + 2)) / 2, (i * (i + 1)) / 2 ≤ (j * (j + 1)) / 2 + j0 ⊦ i = j, i * (i + 1) ≤ j * (j + 1) + 2 * j0 ∧ j * (j + 1) + 2 * j0 < (i + 1) * (i + 2) |
2 * ((j * (j + 1)) / 2 + j0) < 2 * ((i + 1) * (i + 2)) / 2, 0 ≤ j0, 0 ≤ j, 0 ≤ i, j0 ≤ j, (j * (j + 1)) / 2 + j0 < ((i + 1) * (i + 2)) / 2, (i * (i + 1)) / 2 ≤ (j * (j + 1)) / 2 + j0 ⊦ i = j, i * (i + 1) ≤ j * (j + 1) + 2 * j0 ∧ j * (j + 1) + 2 * j0 < (i + 1) * (i + 2)
Used simplifier rules: ls-pos: ⊦ 0 < i → (i * j < i * j0 ↔ j < j0); from specification int-mult%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-03: ⊦ i < j → (¬ ¬ j ≤ i ↔ false); from specification int-abs%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used formulas: 2 * ((j * (j + 1)) / 2 + j0) < 2 * ((i + 1) * (i + 2)) / 2