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