| ¬ 0 ≤ i0 + 2, n→i(# int2bits(j)) = i0 + 2, j < ~1, j < 0, # int2bits(j) ≤ i→n(i0) + 1, 2 < # int2bits(j) ⊦ # int2bits(j) = 2, # int2bits(j) = 3, # int2bits(j) = 1, i→n(i0) = 1, i0 = 0 |
n→i(# int2bits(j)) = i0 + 2, j < ~1, j < 0, # int2bits(j) ≤ i→n(i0) + 1, 2 < # int2bits(j), i0 < ~2, i0 < 0 ⊦ i0 = 0, # int2bits(j) = 2, # int2bits(j) = 3, # int2bits(j) = 1, ~1 = i0
Used simplifier rules: numlsf: ⊦ i < (* j) ∧ j < 0 → i < 0; (forward) from specification int-basic1%numadd-01: ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0; from specification int-abs%negeq: ⊦ ~ i = j ↔ i + j = 0; from specification int-abs%num-i2n-eq-01: i < 0 ⊦ i→n(i) = (* m) ↔ ~ i = n→i(m); from specification intnat%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-02: ⊦ i ≠ j → (i ≤ j ↔ i < j); from specification int-abs%numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%lst: ⊦ i < j ∧ ¬ i0 < j → ¬ i0 < i; from specification int-basic1