| 0 ≤ abs(j) → mkDecimal(i + i0, abs(j)) = mkDecimal((i + i0) * 10 ^ abs(j), abs(abs(j)) + abs(j)) ⊦ mkDecimal((i + i0) * 10 ^ abs(j), 2 * abs(j)) = mkDecimal(i + i0, j) |
mkDecimal(i + i0, abs(j)) = mkDecimal((i + i0) * 10 ^ abs(j), 2 * abs(j)) ⊦ mkDecimal(i + i0, abs(j)) = mkDecimal(i + i0, j)
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-mult-two: ⊦ i + i = 2 * i; from specification int-mult%abs-01: ⊦ abs(abs(i)) = abs(i); from specification int-abs%abs-03: ⊦ 0 ≤ abs(i); from specification int-abs