| uint2bits(2 ^ n→i(# int2bits(~ j)) + j) = boolvar ', j < 2 ^ n→i(# int2bits(~ j)), 0 < 2 ^ n→i(# int2bits(~ j)), 0 ≤ 2 ^ n→i(# int2bits(~ j)) + j, j < 0, j + 1 < 2 ^ n→i(# int2bits(~ j)) ⊦ |
⊦ 0 < i → uint2bits(i) ≠ boolvar '
¬ 0 < 2 ^ n→i(# int2bits(~ j)) + j, uint2bits(2 ^ n→i(# int2bits(~ j)) + j) = boolvar ', j < 2 ^ n→i(# int2bits(~ j)), 0 < 2 ^ n→i(# int2bits(~ j)), 0 ≤ 2 ^ n→i(# int2bits(~ j)) + j, j < 0, j + 1 < 2 ^ n→i(# int2bits(~ j)) ⊦
Used terms: boolvar, 2 ^ n→i(# int2bits(~ j)) + j