| ∀ i1, i0. i→n(i1) < i→n(i) → true → isSquare(mkDecimal(i1 * i1, 2 * abs(i0)).int) ⊦ isSquare(mkDecimal(i * i, 2 * abs(i0)).int) |
⊦ ¬(i % 10 = 0 ∧ j ≠ 0 ∧ i ≠ 0) → mkDecimal(i, j).int = i
¬ ¬((i * i) % 10 = 0 ∧ 2 * abs(i0) ≠ 0 ∧ i * i ≠ 0), ∀ i1, i0. i→n(i1) < i→n(i) → true → isSquare(mkDecimal(i1 * i1, 2 * abs(i0)).int) ⊦ isSquare(mkDecimal(i * i, 2 * abs(i0)).int)
Used simplifier rules: isSquare-square: ⊦ isSquare(i * i); from specification int-square%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: 2 * abs(i0), i * i