| 0 < 255 * (2 ^ (8 * n→i(# bytes1)) + bytes2int(by ' + bytes1)) + band(255, b2i(by0)), 0 ≤ 256 * (bytes2int(by ' + bytes1) + 2 ^ (8 * n→i(# bytes1))) + band(255, b2i(by0)), b2i(by) < 0, bytes2int(by ' + bytes1) + 2 ^ (8 * n→i(# bytes1)) < 0, ∀ by, bytes0. # bytes0 < #(bytes1 + by0 ') → 0 ≤ bytes2int(by ' + bytes0) + 2 ^ (8 * n→i(# bytes0)) ∧ b2i(by) < 0 → b2i(by) = ~1 ⊦ 256 * 0 ≤ 256 * (bytes2int(by ' + bytes1) + 2 ^ (8 * n→i(# bytes1))) + band(255, b2i(by0)) ∧ 0 ≤ band(255, b2i(by0)) ∧ band(255, b2i(by0)) < 256, b2i(by) = ~1 |
Used simplifier rules: ⊦ ¬ 256 ≤ band(i, 255);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ i + j = j + i;% ⊦ i * j = j * i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ 0 ≤ i → ¬ band(i, j) < 0;% ⊦ band(i, band(i0, j)) = band(band(i, i0), j);% ⊦ band(i, j) = band(j, i);