| 0 ≤ j, 0 ≤ j ⊦ 2 ^ n→i(# uint2bits(j).rest) = j + 1, false ∈ uint2bits(j).rest |
0 < i ⊦ ∃ bits. uint2bits(i) = false ' + true ' + bits
∃ bits. uint2bits(j) = false ' + true ' + bits, 0 ≤ j, 0 ≤ j ⊦ 2 ^ n→i(# uint2bits(j).rest) = j + 1, false ∈ uint2bits(j).rest
Used simplifier rules: uint2bits-zero: ⊦ uint2bits(0) = false ';% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ boolvar '.rest = [];% ⊦ # [] = 0; Used terms: j