| bytes2bits(bytes).first, bytes2bits(bytes0).first ⊦ bytes = [], bytes0 = [], bytes2bits(bytes) + bytes2bits(bytes0) = [], bitsinvert(bytes2bits(bytes)) + bitsinvert(bytes2bits(bytes0)) = [], band(bits2int(bytes2bits(bytes0)), (2 ^ 8) ^ n→i(# bytes0) - 1) = (2 ^ 8) ^ n→i(# bytes0) + bits2int(bytes2bits(bytes0)) |
0 ≤ i, 0 ≤ j, 0 ≤ j0 ⊦ (i ^ j) ^ j0 = i ^ (j * j0)
0 ≤ 2 ∧ 0 ≤ 8 ∧ 0 ≤ n→i(# bytes0), bytes2bits(bytes).first, bytes2bits(bytes0).first ⊦ bytes = [], bytes0 = [], bytes2bits(bytes) + bytes2bits(bytes0) = [], bitsinvert(bytes2bits(bytes)) + bitsinvert(bytes2bits(bytes0)) = [], band(bits2int(bytes2bits(bytes0)), 2 ^ (8 * n→i(# bytes0)) - 1) = 2 ^ (8 * n→i(# bytes0)) + bits2int(bytes2bits(bytes0))
Used simplifier rules: ⊦ 0 ≤ n→i(n); Used terms: n→i(# bytes0), 8, 2