| i % 10 = 0, abs(mkDecimal(i / 10, abs(j) - 1)) = mkDecimal(abs(i) / 10, abs(j) - 1), ∀ i0, j. i→n(i0) < i→n(i) → true → abs(mkDecimal(i0, j)) = mkDecimal(abs(i0), j) ⊦ j = 0, mkDecimal(abs(i) / 10, abs(j) - 1) = mkDecimal(abs(i), j), abs(i) % 10 = 0 |
j ≠ 0 ⊦ i % j = 0 ↔ (∃ j0. i = j0 * j)
Used simplifier rules: div-mult-num: j ≠ 0, j0 % j = 0 ⊦ (i * (* j0)) / (* j) = i * j0 / j; from specification int-div%one: ⊦ 1 * i = i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%abs-eqall: ⊦ abs(i * j) = abs(i) * abs(j); from specification int-mult%mod-zero-num: i0 % j = 0, j ≠ 0 ⊦ (i * (* i0)) % (* j) = 0; from specification int-div Used terms: 10, i