| mklist(i2b(~1), 2 - # bytes0 + 1) ≠ [], # bytes0 ≤ 1, bytes2int(bytes0 + by ') < 0 ⊦ mklist(i2b(~1), 2 - # bytes0 + 1).rest + bytes0 + by ' = by ' |
# bytes0 ≤ 1, bytes2int(bytes0 + by ') < 0 ⊦ 2 - # bytes0 + 1 = 0, mklist(i2b(~1), 2 - # bytes0 + 1 - 1) + bytes0 = []
Used simplifier rules: ⊦ n -1 = n - 1;% ⊦ n ≠ 0 → mklist(by, n).rest = mklist(by, n -1);% ⊦ mklist(by, m) = [] ↔ m = 0;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ bytes = bytes0 + bytes ↔ bytes0 = [];