| band(b2i(by1), 255) i<< 8 < 2 ^ 16 ∧ 0 ≤ 16 ∧ 0 ≤ band(b2i(by1), 255) i<< 8, 0 ≤ 16 ∧ 16 < 32 ⊦ bor(b2i(by3) i<< 24, bor(band(b2i(by2), 255) * 2 ^ 16, bor(band(b2i(by1), 255) i<< 8, band(b2i(by0), 255)))) = bor(bytes2int(by3 ' + by2 ' + by1 ') * 256, band(b2i(by0), 255)), bor(b2i(by3) i<< 24, band(b2i(by2), 255) * 2 ^ 16 + (band(b2i(by1), 255) i<< 8)) = bytes2int(by3 ' + by2 ' + by1 ') * 256 |
band(b2i(by1), 255) i<< 8 < 65536, 0 ≤ band(b2i(by1), 255) i<< 8 ⊦ bor((band(b2i(by1), 255) i<< 8) + 65536 * band(b2i(by2), 255), b2i(by3) i<< 24) = bytes2int(by3 ' + by2 ' + by1 ') * 256, bor(65536 * band(b2i(by2), 255) + (band(b2i(by1), 255) i<< 8), bor(band(b2i(by0), 255), b2i(by3) i<< 24)) = bor(bytes2int(by3 ' + by2 ' + by1 ') * 256, band(b2i(by0), 255)), bor(65536 * band(b2i(by2), 255) + (band(b2i(by1), 255) i<< 8), b2i(by3) i<< 24) = bytes2int(by3 ' + by2 ' + by1 ') * 256
Used simplifier rules: ⊦ bor(i, j) ≠ bor(i0, j) → i ≠ i0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ bor(i, j) = bor(j, i);% ⊦ bor(bor(i, i0), j0) = bor(i, bor(i0, j0));% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ j0 < 65536 ∧ 0 ≤ j0 → bor(j * 65536, j0) = j * 65536 + j0;% ⊦ band(i, j) = band(j, i);