| 0 < 10 ∧ 0 ≤ abs(j) ∧ abs(j) ≤ abs(j0), i0 = i * 10 ^ (abs(j0) - abs(j)), abs(j) < abs(j0), ∀ i1, i2, j, j0. i→n(i1) + i→n(i2) < i→n(i) + i→n(i0) → true → (mkDecimal(i1, j) = mkDecimal(i2, j0) ↔ i1 * 10 ^ abs(j0) = i2 * 10 ^ abs(j)) ⊦ i % 10 = 0, i0 % 10 = 0, i = 0, i0 = 0, i = i0 ∧ abs(j) = abs(j0) |
abs(j) < abs(j0), ∀ i1, i2, j2, j1. i→n(i1) + i→n(i2) < i→n(i) + i→n(i * 10 ^ (abs(j0) - abs(j))) → true → (mkDecimal(i1, j2) = mkDecimal(i2, j1) ↔ i1 * 10 ^ abs(j1) = i2 * 10 ^ abs(j2)) ⊦ i % 10 = 0, (i * 10 ^ (abs(j0) - abs(j))) % 10 = 0, i = 0, abs(j) = abs(j0)
Used simplifier rules: lels-02: ⊦ i ≠ j → (i ≤ j ↔ i < j); from specification int-abs%one: ⊦ 1 * i = i; from specification int-mult%sub-eq-01: ⊦ i = j → i - j = 0; from specification int-abs%abs-03: ⊦ 0 ≤ abs(i); from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-zero: ⊦ i + 0 = i; from specification int-basic2%sub-ls: ⊦ i - j < i0 ↔ i < j + i0; from specification int-abs%pot-zero-01: ⊦ 0 < i → (i ^ j = 0 ↔ j < 0 ∧ 1 < i); from specification int-pot%zero-eq: ⊦ i * j = 0 ↔ i = 0 ∨ j = 0; from specification int-mult