| ∀ i0, j. i→n(i0) < i→n(i) → true → mkDecimal(i0, j).scale = max(0, abs(j) - maxScale(i0)) ⊦ mkDecimal(i, j).scale = max(0, abs(j) - maxScale(i)), i % 10 = 0 ∧ j ≠ 0 ∧ i ≠ 0 |
⊦ ¬(i % 10 = 0 ∧ j ≠ 0 ∧ i ≠ 0) → mkDecimal(i, j).scale = abs(j)
Used simplifier rules: maxScale-not-negt: ⊦ ¬ maxScale(i) < 0;%maxScale-zero: ⊦ maxScale(0) = 0;%maxScale-base: ⊦ i % 10 ≠ 0 ∧ i ≠ 0 → maxScale(i) = 0;%neg-06: ⊦ 0 - i = ~ i; from specification int-abs%max: ⊦ max(i, j) = j ↔ ¬ j < i; from specification int-min%neg: ⊦ 0 < ~ i ↔ i < 0; from specification int-abs%max-a: ⊦ max(i, max(j, j0)) = max(max(i, j), j0); from specification int-min%max-c: ⊦ max(i, j) = max(j, i); from specification int-min%sub-zero-01: ⊦ i - 0 = i; from specification int-abs%absls: ⊦ ¬ abs(i) < 0; from specification int-abs Used terms: j, i