| bits = boolvar + bits0, uint2bits(i) = false ' + bitsinvert(bits0) + true ', 0 ≤ i, 0 < i, 1 < i, boolvar, false ∈ uint2bits(i) ⊦ bits = [], false ∈ bits |
uint2bits(i) = false ' + bitsinvert(bits0) + true ', 0 ≤ i, 0 < i, 1 < i, false ∈ uint2bits(i) ⊦ false ∈ bits0
Used simplifier rules: ⊦ ¬ boolvar ∈ boolvar0 ' + bits ↔ ¬(boolvar ↔ boolvar0) ∧ ¬ boolvar ∈ bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits ≠ [];% ⊦ boolvar + bits = boolvar ' + bits;