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