| 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, j).int = 0 |
⊦ i % 10 = 0 ∧ j ≠ 0 ∧ i ≠ 0 → mkDecimal(i, j).int = mkDecimal(i / 10, abs(j) - 1).int
~ 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
Used simplifier rules: mod-neg-01: j ≠ 0 ⊦ ~ i % j = ~(i % j); from specification int-div%neg-10: ⊦ ~ i = 0 ↔ i = 0; from specification int-abs Used terms: j, ~ i