| # i2b(i) ' < 4 ∧ bytes2int(i2b(i) ') < 0, mklist(i2b(~1), 4 - # i2b(i) ') + i2b(i) ' = by ' + by0 ' + by1 ' + by2 ', by ∈ mklist(i2b(~1), 4 - # i2b(i) ') + i2b(i) ', by2 ∈ mklist(i2b(~1), 4 - # i2b(i) ') + i2b(i) ' ⊦ by = i2b(b2i(i2b(i)) >> 24) ∧ by0 = i2b(b2i(i2b(i)) >> 16) ∧ by1 = i2b(b2i(i2b(i)) >> 8) ∧ by2 = i2b(i) |
mklist(i2b(~1), 3) = i2b(~1) ' + by0 ' + i2b(~1) ', b2i(i2b(i)) < 0 ⊦ by0 = i2b(b2i(i2b(i)) >> 16) ∧ i2b(~1) = i2b(b2i(i2b(i)) >> 24)
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);%mk-in: ⊦ by ∈ mklist(by, m) ↔ m ≠ 0; from specification list-last[bytelist]%mk-elem: ⊦ by ∈ mklist(by0, n) → by = by0; (forward) from specification list-last[bytelist]%forward-le-02: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward) from specification int-abs%in-14: ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%in-15: ⊦ bytes + by ' = bytes0 → by ∈ bytes0; (forward) from specification list[bytelist]%shiftright-byte-8-neg: ⊦ b2i(by) < 0 → b2i(by) >> 8 = ~1; from specification byte%in-17: ⊦ by ∈ by0 ' ↔ by = by0; from specification list[bytelist]%in-append: ⊦ by ∈ bytes + bytes0 ↔ ¬ ¬(by ∈ bytes ∨ by ∈ bytes0); 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]%len-02: ⊦ # by ' = 0 +1; from specification list[bytelist]