| # i2b(i >> 8) ' < 3 ∧ bytes2int(i2b(i >> 8) ') < 0, mklist(i2b(~1), 3 - # i2b(i >> 8) ') + i2b(i >> 8) ' = by ' + by0 ' + by1 ', i >> 8 = b2i(i2b(i >> 8)), i < ~128 ∨ 128 ≤ i ⊦ i = b2i(i2b(i)), by = i2b(i >> 24) ∧ by0 = i2b(i >> 16) ∧ by1 = i2b(i >> 8) |
i >> 8 = b2i(i2b(i >> 8)), i >> 8 < 0, i < ~128, i < 0 ⊦ i = b2i(i2b(i)), i2b(~1) = i2b(i >> 24) ∧ i2b(~1) = i2b(i >> 16)
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);%numlsf: ⊦ i < (* j) ∧ j < 0 → i < 0; (forward) from specification int-basic1%numlslsdel: j0 ≠ 0, j < j0 ⊦ i < (* j) → i < (* j0); from specification int-basic1%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%shiftright-not-neg: ⊦ 0 ≤ i → ¬ i >> j < 0; from specification intops%forward-le: ⊦ i ≤ j ∧ 0 < i → 0 < j; (forward) from specification int-abs%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le-02: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward) from specification int-abs%c-04: ⊦ by ' = by0 ' ↔ by = by0; from specification list[bytelist]%a: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; from specification list[bytelist]%app-06: ⊦ bytes + by ' = bytes0 + by0 ' ↔ bytes = bytes0 ∧ by = by0; from specification list[bytelist]%mk-two-01: ⊦ mklist(by, 2) = by ' + by '; from specification list-last[bytelist]%len-02: ⊦ # by ' = 0 +1; from specification list[bytelist]