| ((j * j) * 10) % 10 = 0 ∧ 2 * abs(i0) - 1 ≠ 0 ∧ (j * j) * 10 ≠ 0, ∀ i1, i0. i→n(i1) < i→n(j * 10) → true → even(mkDecimal(i1 * i1, 2 * abs(i0)).scale) ⊦ i0 = 0, j = 0, even(mkDecimal(((j * j) * 10) / 10, abs(2 * abs(i0) - 1) - 1).scale) |
∀ i1, i0. i→n(i1) < i→n(j * 10) → true → even(mkDecimal(i1 * i1, 2 * abs(i0)).scale) ⊦ i0 = 0, j = 0, even(mkDecimal(j * j, abs(2 * abs(i0) - 1) - 1).scale)
Used simplifier rules: one: ⊦ 1 * i = i; from specification int-mult%div-mult-num: j ≠ 0, j0 % j = 0 ⊦ (i * (* j0)) / (* j) = i * j0 / j; from specification int-div%neq-two: ⊦ 2 * i ≠ 1; from specification int-mult%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%sub-eq: ⊦ i - j = i0 ↔ i = i0 + j; from specification int-abs%zero-neq-01: ⊦ 0 < i → (i * j = 0 ↔ j = 0); from specification int-mult%zero-eq: ⊦ i * j = 0 ↔ i = 0 ∨ j = 0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%mod-zero-num: i0 % j = 0, j ≠ 0 ⊦ (i * (* i0)) % (* j) = 0; from specification int-div