| i >> 8 = b2i(i2b(i >> 8)), i >> 8 < 0, i < ~128, i < 0 ⊦ i >> 16 = (i >> 8) >> 8 ∧ i >> 24 = (i >> 8) >> 16, i = b2i(i2b(i)), i2b(~1) = i2b(i >> 24) ∧ i2b(~1) = i2b(i >> 16) |
⊦ 0 ≤ j ∧ 0 ≤ j0 ∧ j + j0 < 32 → (i >> j) >> j0 = i >> (j + j0)
0 ≤ 8 ∧ 0 ≤ 8 ∧ 8 + 8 < 32, i >> 8 = b2i(i2b(i >> 8)), i >> 8 < 0, i < ~128, i < 0 ⊦ i >> 16 = i >> (8 + 8) ∧ i >> 24 = (i >> 8) >> 16, i = b2i(i2b(i)), i2b(~1) = i2b(i >> 24) ∧ i2b(~1) = i2b(i >> 16)
Used simplifier rules: add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: 8, 8, i