| sqrt(i * i) < abs(sqrt(i * i) + 1), abs(i) < abs(sqrt(i * i) + 1), sqrt(i * i) ≤ abs(i), 0 ≤ i * i ⊦ sqrt(i * i) = abs(i) |
sqrt(i * i) < abs(sqrt(i * i) + 1), sqrt(i * i) < abs(i), abs(i) < abs(sqrt(i * i) + 1), sqrt(i * i) < ~1 ⊦ sqrt(i * i) = abs(i)
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2% ⊦ i + (* j) < (* j0) ↔ i < j0 - j; (s)% ⊦ i < abs(i) ↔ i < 0; (s)% ⊦ i +1 = i + 1; (s)%trans: ⊦ i < j ∧ j < j0 → i < j0; (forward) from specification int-basic1%lf-01: ⊦ i < j ∧ j < i0 → i +1 < i0; (forward) from specification int-basic1% ⊦ i ≠ j → (i ≤ j ↔ i < j); (s)%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult% ⊦ 0 ≤ i * i; (s)