| ⊦ bitsand(boolvar ' + bits1, boolvar0 ' + bits).first ↔ boolvar ∧ boolvar0 |
bitsand(boolvar ' + bits1, boolvar0 ' + bits) = boolvar1 + bits0 ∧ bitsand(boolvar ' + bits1, boolvar0 ' + bits) ≠ [] ⊦ boolvar1 ↔ boolvar ∧ boolvar0
Used simplifier rules: and-notempty-06: ⊦ bitsand(boolvar ' + bits, boolvar0 ' + bits0) ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;%bits ≠ [] ⊦ (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0; (elim) Used terms: bitsand(boolvar ' + bits1, boolvar0 ' + bits), boolvar1, bits0