| mkDecimal(i, j).int = mkDecimal(i0, j).int, mkDecimal(i, j).scale = mkDecimal(i0, j).scale, ∀ i1, i2, j. i→n(i1) + i→n(i2) < i→n(i) + i→n(i0) → mkDecimal(i1, j).scale = mkDecimal(i2, j).scale ∧ mkDecimal(i1, j).int = mkDecimal(i2, j).int → i1 = i2 ⊦ i = i0 |
⊦ i % 10 = 0 ∧ j ≠ 0 → mkDecimal(i, j) = mkDecimal(i / 10, abs(j) - 1)
¬(i % 10 = 0 ∧ j ≠ 0), mkDecimal(i, j).int = mkDecimal(i0, j).int, mkDecimal(i, j).scale = mkDecimal(i0, j).scale, ∀ i1, i2, j. i→n(i1) + i→n(i2) < i→n(i) + i→n(i0) → mkDecimal(i1, j).scale = mkDecimal(i2, j).scale ∧ mkDecimal(i1, j).int = mkDecimal(i2, j).int → i1 = i2 ⊦ i = i0
i % 10 = 0 ∧ j ≠ 0, mkDecimal(i / 10, abs(j) - 1).int = mkDecimal(i0, j).int, mkDecimal(i / 10, abs(j) - 1).scale = mkDecimal(i0, j).scale, ∀ i1, i2, j. i→n(i1) + i→n(i2) < i→n(i) + i→n(i0) → mkDecimal(i1, j).scale = mkDecimal(i2, j).scale ∧ mkDecimal(i1, j).int = mkDecimal(i2, j).int → i1 = i2 ⊦ i = i0
Used terms: j, i