| ¬(# i2b(i) ' < 4 ∧ bytes2int(i2b(i) ') < 0), fillsgn(4, i2b(i) ') = by ' + by0 ' + by1 ' + by2 ', by ∈ fillsgn(4, i2b(i) '), by2 ∈ fillsgn(4, i2b(i) ') ⊦ by = i2b(b2i(i2b(i)) >> 24) ∧ by0 = i2b(b2i(i2b(i)) >> 16) ∧ by1 = i2b(b2i(i2b(i)) >> 8) ∧ by2 = i2b(i) |
fillsgn(4, i2b(i) ') = by ' + by0 ' + by1 ' + by2 ', by ∈ fillsgn(4, i2b(i) '), by2 ∈ fillsgn(4, i2b(i) '), 0 ≤ b2i(i2b(i)) ⊦ by = i2b(b2i(i2b(i)) >> 24) ∧ by0 = i2b(b2i(i2b(i)) >> 16) ∧ by1 = i2b(0) ∧ by2 = i2b(i)
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%shiftright-byte-8-pos: ⊦ 0 ≤ b2i(by) → b2i(by) >> 8 = 0; from specification byte%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%len-02: ⊦ # by ' = 0 +1; from specification list[bytelist]