| ⊦ mkDecimal(i * 10 ^ abs(i2), abs(i0) + abs(i2)) = mkDecimal(i1, abs(i2)), mkDecimal(i1, abs(i2)) < mkDecimal(i * 10 ^ abs(i2), abs(i0) + abs(i2)), mkDecimal(i * 10 ^ abs(i2), abs(i0) + abs(i2)) < mkDecimal(i1, abs(i2)) |
⊦ 0 ≤ j0 → mkDecimal(i, j) = mkDecimal(i * 10 ^ j0, abs(j) + j0)
Used simplifier rules: less-same: ⊦ mkDecimal(i, j) < mkDecimal(i0, j) ↔ i < i0;%abs-01: ⊦ abs(abs(i)) = abs(i); from specification int-abs%add-c: ⊦ i + j = j + i; from specification int-basic2%eq-same: ⊦ mkDecimal(i, j) = mkDecimal(i0, j) ↔ i = i0; from specification decimal%abs-03: ⊦ 0 ≤ abs(i); from specification int-abs%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-02: ⊦ i ≠ j → (i ≤ j ↔ i < j); from specification int-abs%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1 Used terms: abs(i0), abs(i2), i1