| j < 0, 0 ≤ i, j < i, bitsand(false ' + mklist(true, i→n(i)), sgn(bitsinvert(uint2bits(~ j)) +1)).first ⊦ (j + 1) % 2 ^ i + 2 ^ i = 1 + bits2int(bitsand(false ' + mklist(true, i→n(i)), sgn(bitsinvert(uint2bits(~ j)) +1))) |
⊦ bits ≠ [] ∧ bits0 ≠ [] → (bitsand(bits, bits0).first ↔ bits.first ∧ bits0.first)
Used simplifier rules: ⊦ (boolvar ' + bits).first ↔ boolvar;% ⊦ boolvar ' + bits ≠ [];% ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ boolvar ' ≠ [];% ⊦ mklist(boolvar, m) = [] ↔ m = 0;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ sgn(bits) = [] ↔ bits = [];% ⊦ ¬ bits +1 ≠ [] ↔ false; Used terms: sgn(bitsinvert(uint2bits(~ j)) +1), false ' + mklist(true, i→n(i))