| ⊦ (bits + boolvar1 ') + boolvar ' = (bits + boolvar1 ').first ', bitsand((bits + boolvar1 ') + boolvar ', bits2 + boolvar0 ') = bitsand(bits + boolvar1 ', bits2) + (boolvar ∧ boolvar0)', bits2 + boolvar0 ' = (bits2 + boolvar0 ').first ' |
⊦ bits ≠ [] → (∃ bits0, boolvar. bits = bits0 + boolvar ')
Used simplifier rules: bitsand-rec: ⊦ bitsand (bits + boolvar ' + boolvar0 ', bits0 + boolvar1 ' + boolvar2 ') = bitsand(bits + boolvar, bits0 + boolvar1) + (boolvar0 ∧ boolvar2);% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar '.first ↔ boolvar;% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ bits ≠ [] → ((bits + bits0).first ↔ bits.first);% ⊦ bits + boolvar ' = bits0 → boolvar ∈ bits0; (forward)% ⊦ bits + boolvar = bits + boolvar ';% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1; Used terms: bits2