| 0 ≤ i, 0 ≤ j0, 0 < j, j0 < 2 ^ i ⊦ # fillsgn(i→n(i) + 1, uint2bits(j0)).rest = i→n(i) |
⊦ bits ≠ [] → # bits.rest = (# bits)-1
fillsgn(i→n(i) + 1, uint2bits(j0)) ≠ [], 0 ≤ i, 0 ≤ j0, 0 < j, j0 < 2 ^ i ⊦ (# fillsgn(i→n(i) + 1, uint2bits(j0)))-1 = i→n(i)
Used simplifier rules: uint2bits-empty: 0 ≤ i ⊦ uint2bits(i) ≠ [];% ⊦ fillsgn(n, bits) = [] ↔ bits = [] ∧ n = 0;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ m + 1 ≠ 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: fillsgn(i→n(i) + 1, uint2bits(j0))