| 0 ≤ i, 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 ≤ i0 → maxScale(10 ^ i0) = i0 ⊦ maxScale(10 ^ (i - 1) * 10) = i |
⊦ i % 10 = 0 ∧ i ≠ 0 → maxScale(i) = maxScale(i / 10) + 1
(10 ^ (i - 1) * 10) % 10 = 0 ∧ 10 ^ (i - 1) * 10 ≠ 0, 0 ≤ i, 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 ≤ i0 → maxScale(10 ^ i0) = i0 ⊦ maxScale((10 ^ (i - 1) * 10) / 10) + 1 = i
Used simplifier rules: maxScale-zero: ⊦ maxScale(0) = 0;%mod-zero-num: i0 % j = 0, j ≠ 0 ⊦ (i * (* i0)) % (* j) = 0; from specification int-div%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%zero-neq-01: ⊦ 0 < i → (i * j = 0 ↔ j = 0); from specification int-mult%pot-zero-01: ⊦ 0 < i → (i ^ j = 0 ↔ j < 0 ∧ 1 < i); from specification int-pot%sub-ls: ⊦ i - j < i0 ↔ i < j + i0; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%bet-01: ⊦ 0 ≤ i → (i < 1 ↔ i = 0); from specification int-abs Used terms: 10 ^ (i - 1) * 10