| 0 < j, ∀ i1, i0. i→n(i1) < i→n(j * 10) → 0 ≤ i1 → mkDecimal(sqrt(mkDecimal(i1 * i1, 2 * abs(i0)).int), mkDecimal(i1 * i1, 2 * abs(i0)).scale / 2) = mkDecimal(i1, i0) ⊦ j = 0, i0 = 0, mkDecimal(sqrt(mkDecimal(j * j, 2 * abs(i0) - 2).int), mkDecimal(j * j, 2 * abs(i0) - 2).scale / 2) = mkDecimal(j * 10, i0) |
mkDecimal(sqrt(mkDecimal(j * j, 2 * abs(abs(i0) - 1)).int), mkDecimal(j * j, 2 * abs(abs(i0) - 1)).scale / 2) = mkDecimal(j, abs(i0) - 1), 0 < j, ∀ i1, i0. i→n(i1) < i→n(j * 10) → 0 ≤ i1 → mkDecimal(sqrt(mkDecimal(i1 * i1, 2 * abs(i0)).int), mkDecimal(i1 * i1, 2 * abs(i0)).scale / 2) = mkDecimal(i1, i0) ⊦ j = 0, i0 = 0, mkDecimal(sqrt(mkDecimal(j * j, 2 * abs(i0) - 2).int), mkDecimal(j * j, 2 * abs(i0) - 2).scale / 2) = mkDecimal(j * 10, i0)
Used simplifier rules: lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1%labs: ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j); from specification intnat%abs-eqall: ⊦ abs(i * j) = abs(i) * abs(j); from specification int-mult%abs-16: ⊦ 0 < j → abs(j) = j; from specification int-abs%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%le-same: ⊦ 0 < i → (i * j ≤ i ↔ j ≤ 1); from specification int-mult Used terms: j, abs(i0) - 1