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