| # bytes = m + 1, n ≤ m, bytes[n] ∈ bytes → b2i(bytes[n]) = 0 ⊦ bytes = [], m = 0, (mklist(i2b(0), m) + i2b(0) ')[n] = bytes[n] |
⊦ m < # bytes → (¬ bytes[m] ∈ bytes ↔ false)
n < # bytes, # bytes = m + 1, n ≤ m, true → b2i(bytes[n]) = 0 ⊦ bytes = [], m = 0, (mklist(i2b(0), m) + i2b(0) ')[n] = bytes[n]
Used simplifier rules: ⊦ ¬ m < n ↔ n ≤ m;% ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward)% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ m = n + 1 → ¬ m ≤ n;% ⊦ m + m0 ≤ m ↔ m0 = 0; Used terms: n, bytes