| # bytes < n + # bytes ∧ 0 ≤ bytes2int(bytes), 0 ≤ bytes2int(bytes) ⊦ bytes = [], mklist(i2b(0), n + 1) + bytes = (¬ 0 ≤ b2i(bytes.first) ⊃ i2b(~1);i2b(0)) ' + mklist(i2b(0), n + # bytes - # bytes) + bytes |
0 ≤ bytes2int(bytes) ⊦ bytes = [], mklist(i2b(0), n + 1) = (¬ 0 ≤ b2i(bytes.first) ⊃ i2b(~1);i2b(0)) ' + mklist(i2b(0), n), n = 0
Used simplifier rules: ⊦ m < m + n ↔ n ≠ 0;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ bytes + bytes0 = bytes1 + bytes0 ↔ bytes = bytes1;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n - m = n;