| i % 10 = 0 ∧ i ≠ 0, i % 10 = 0, abs(j) < maxScale(i / 10) + 1, ∀ i0, j. i→n(i0) < i→n(i) → abs(j) < maxScale(i0) → mkDecimal(i0, j).int = i0 / 10 ^ abs(j) ⊦ j = 0, i = 0, mkDecimal(i / 10, abs(j) - 1).int = i / 10 ^ abs(j) |
i % 10 = 0, abs(j) ≤ maxScale(i / 10), ∀ i0, j. i→n(i0) < i→n(i) → abs(j) < maxScale(i0) → mkDecimal(i0, j).int = i0 / 10 ^ abs(j) ⊦ j = 0, mkDecimal(i / 10, abs(j) - 1).int = i / 10 ^ abs(j), i = 0
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%succ-02: ⊦ i < j + 1 ↔ i ≤ j; from specification int-abs