| bits ≠ [], uint2bits(i) = ((¬ bits.first)' + bitsinvert(bits.rest)) + true ', 1 < i, 0 < i, 0 ≤ i ⊦ false ∈ bits |
uint2bits(i) = false ' + bitsinvert(bits.rest) + true ', 0 ≤ i, 0 < i, 1 < i, bits.first, false ∈ uint2bits(i) ⊦ bits = [], false ∈ bits
Used simplifier rules: uint2bits-firstpos: ⊦ uint2bits(j) = boolvar ' + bits ∧ 0 ≤ j → ¬ boolvar;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;