| i % 10 = 0, ∀ i1, i0. i→n(i1) < i→n(i) → true → even(mkDecimal(i1 * i1, 2 * abs(i0)).scale) ⊦ i = 0, i0 = 0, even(mkDecimal(i * i, 2 * abs(i0)).scale) |
⊦ i % 10 = 0 ∧ j ≠ 0 ∧ i ≠ 0 → mkDecimal(i, j).scale = mkDecimal(i / 10, abs(j) - 1).scale
(i * i) % 10 = 0 ∧ 2 * abs(i0) ≠ 0 ∧ i * i ≠ 0, i % 10 = 0, ∀ i1, i0. i→n(i1) < i→n(i) → true → even(mkDecimal(i1 * i1, 2 * abs(i0)).scale) ⊦ i = 0, i0 = 0, even(mkDecimal((i * i) / 10, abs(2 * abs(i0)) - 1).scale)
Used simplifier rules: mod-square-10: ⊦ (i * i) % 10 = 0 ↔ i % 10 = 0; from specification int-gcd%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%two-zero: ⊦ 2 * i = 0 ↔ i = 0; from specification int-mult%abs-07: ⊦ abs(i) = 0 ↔ i = 0; from specification int-abs%square-zero: ⊦ i * i = 0 ↔ i = 0; from specification int-mult Used terms: 2 * abs(i0), i * i