| ~ i % 10 = 0 ∧ j ≠ 0 ∧ ~ i ≠ 0, i % 10 = 0, ∀ i0, j. i→n(i0) < i→n(i) → true → ~ mkDecimal(i0, j).int = mkDecimal(~ i0, j).int ⊦ j = 0, i = 0, mkDecimal(i / 10, abs(j) - 1).int + mkDecimal(~ i / 10, abs(j) - 1).int = 0 |
i % 10 = 0, ∀ i0, j. i→n(i0) < i→n(i) → true → ~ mkDecimal(i0, j).int = mkDecimal(~ i0, j).int ⊦ j = 0, i = 0, mkDecimal(i / 10, abs(j) - 1).int + mkDecimal(~(i / 10), abs(j) - 1).int = 0
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