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