| 0 ≤ b2i(by) ⊦ bytes2int(i2b(0) ' + by ') = b2i(by) |
⊦ 1 < # bytes → bytes2int(bytes) = bytes2int(bytes.butlast) * 256 + band(b2i(bytes.last), 255)
Used simplifier rules: bytes2int-zero: ⊦ bytes2int(i2b(0) ') = 0;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ (bytes + by ').last = by;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ 0 ≤ i → band(i, 255) = i % 256;% ⊦ b2i(by) % 256 = b2i(by);% ⊦ band(i, band(i0, j)) = band(band(i, i0), j);% ⊦ band(i, j) = band(j, i);% ⊦ (bytes + by ').butlast = bytes;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ b2i(byi) = b2i(byj) ↔ byi = byj; Used terms: i2b(0) ' + by '