| ~ i % 10 = 0 ∧ j ≠ 0, i % 10 = 0, ∀ i0, j. i→n(i0) < i→n(i) → true → mkDecimal(~ i0, j) = ~ mkDecimal(i0, j) ⊦ j = 0, mkDecimal(~ i / 10, abs(j) - 1) = ~ mkDecimal(i / 10, abs(j) - 1) |
i % 10 = 0, ∀ i0, j. i→n(i0) < i→n(i) → true → mkDecimal(~ i0, j) = ~ mkDecimal(i0, j) ⊦ j = 0, mkDecimal(~(i / 10), abs(j) - 1) = ~ mkDecimal(i / 10, abs(j) - 1)
Used simplifier rules: neg-01: j ≠ 0 ⊦ ~ i / j = ~(i / j); from specification int-div%neg-10: ⊦ ~ i = 0 ↔ i = 0; from specification int-abs%mod-neg-01: j ≠ 0 ⊦ ~ i % j = ~(i % j); from specification int-div