| # bits0 = # bits2 ⊦ bits3 + bits0 = [], bits2int((bits3 + bitsor(bits0, bits2)) + bits1) = bits2uint(bits2 + bits1), # bits3 = 1, bits2 = [], bits0 = [], bits3 = [], true ∈ bits3, true ∈ bits0 |
⊦ ¬ bits.first ∧ bits ≠ [] → bits2int(bits) = bits2uint(bits)
¬(¬ ((bits3 + bitsor(bits0, bits2)) + bits1).first ∧ (bits3 + bitsor(bits0, bits2)) + bits1 ≠ []), # bits0 = # bits2 ⊦ bits3 + bits0 = [], bits2int((bits3 + bitsor(bits0, bits2)) + bits1) = bits2uint(bits2 + bits1), # bits3 = 1, bits2 = [], bits0 = [], bits3 = [], true ∈ bits3, true ∈ bits0
¬ ((bits3 + bitsor(bits0, bits2)) + bits1).first ∧ (bits3 + bitsor(bits0, bits2)) + bits1 ≠ [], # bits0 = # bits2 ⊦ bits3 + bits0 = [], bits2uint((bits3 + bitsor(bits0, bits2)) + bits1) = bits2uint(bits2 + bits1), # bits3 = 1, bits2 = [], bits0 = [], bits3 = [], true ∈ bits3, true ∈ bits0
Used terms: (bits3 + bitsor(bits0, bits2)) + bits1