| ¬((i * 10 ^ (j0 - 1) * 10) % 10 = 0 ∧ abs(j) + j0 ≠ 0), 0 ≤ j0, 0 < j0, ∀ j1, i, j. i→n(j1) < i→n(j0) → 0 ≤ j1 → mkDecimal(i, j) = mkDecimal(i * 10 ^ j1, abs(j) + j1) ⊦ mkDecimal(i, j) = mkDecimal(i * 10 ^ (j0 - 1) * 10, abs(j) + j0) |
abs(j) + j0 = 0, 0 ≤ j0, 0 < j0, ∀ j1, i, j. i→n(j1) < i→n(j0) → 0 ≤ j1 → mkDecimal(i, j) = mkDecimal(i * 10 ^ j1, abs(j) + j1) ⊦ mkDecimal(i, j) = mkDecimal(i * 10 ^ (j0 - 1) * 10, 0)
Used simplifier rules: commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%mod-zero-num: i0 % j = 0, j ≠ 0 ⊦ (i * (* i0)) % (* j) = 0; from specification int-div