| uint2bits(i) = false ' + bits, 0 ≤ i ⊦ 2 ^ n→i(# bits) = i + 1, false ∈ bits |
uint2bits(i) = false ' + bits, 0 ≤ i, false ∈ uint2bits(i) ⊦ 2 ^ n→i(# bits) = i + 1, 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;