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