| 0 ≤ b2i(by), 2 ^ ((n→i(# bytes) + 1) * 8) + bytes2int(i2b(~1) ' + by ' + bytes) < 0, ∀ by, bytes0. # bytes0 < # bytes → 2 ^ ((n→i(# bytes0) + 1) * 8) + bytes2int(i2b(~1) ' + by ' + bytes0) < 0 ∧ 0 ≤ b2i(by) → false ⊦ |
⊦ 1 < # bytes → bytes2int(bytes) = bytes2int(bytes.butlast) * 256 + band(b2i(bytes.last), 255)
1 < #(i2b(~1) ' + by ' + bytes), 0 ≤ b2i(by), 2 ^ ((n→i(# bytes) + 1) * 8) + bytes2int((i2b(~1) ' + by ' + bytes).butlast) * 256 + band(b2i((i2b(~1) ' + by ' + bytes).last), 255) < 0, ∀ by, bytes0. # bytes0 < # bytes → 2 ^ ((n→i(# bytes0) + 1) * 8) + bytes2int(i2b(~1) ' + by ' + bytes0) < 0 ∧ 0 ≤ b2i(by) → false ⊦
Used simplifier rules: ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ # by ' = 0 +1;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ m + n = 0 ↔ m = 0 ∧ n = 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;%n < n0 ⊦ (* n) ≠ m0 + (* n0); Used terms: i2b(~1) ' + by ' + bytes