| b2i(by) < 0, ∀ n, bytes0. # bytes0 < 1 → b2i(bytes0.first) < 0 → bytes2int(mklist(i2b(~1), n) + bytes0) = bytes2int(bytes0) ∨ bytes0 = [] ⊦ bytes2int(mklist(i2b(~1), n) + by ') = b2i(by) |
⊦ bytes ≠ [] → bytes2int(bytes + by ') = bytes2int(bytes) * 256 + band(b2i(by), 255)
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);%bytes2int-mklist-mones: ⊦ n ≠ 0 → bytes2int(mklist(i2b(~1), n)) = ~1;% ⊦ b2i(byi) = b2i(byj) ↔ byi = byj;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ [] + bytes = bytes;% ⊦ mklist(by, 0) = [];% ⊦ i < 0 → band(i, 255) = (i + 1) % 256 + 255;% ⊦ (b2i(by) + 1) % 256 = b2i(by) + 1;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ band(i, band(i0, j)) = band(band(i, i0), j);% ⊦ band(i, j) = band(j, i);% ⊦ i * j + i = i * (j + 1);% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ i = i + j ↔ j = 0;% ⊦ i * j = 0 ↔ i = 0 ∨ j = 0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ mklist(by, m) = [] ↔ m = 0; Used terms: by, mklist(i2b(~1), n)