| ¬ 8 < # bits, ∀ boolvar, bits0. # bits0 < # bits → true → bits0 ≠ [] → (boolvar ∈ bytes2bits(bits2bytes(bits0)) ↔ boolvar ∈ bits0) ⊦ bits = [], boolvar ∈ bytes2bits(bits2bytes(bits)) ↔ boolvar ∈ bits |
# bits ≤ 8, ∀ boolvar, bits0. # bits0 < # bits → true → bits0 ≠ [] → (boolvar ∈ bytes2bits(bits2bytes(bits0)) ↔ boolvar ∈ bits0) ⊦ bits = [], boolvar ∈ byte2bits(i2b(bits2int(bits))) ↔ boolvar ∈ bits
Used simplifier rules: bits2bytes-base: ⊦ # bits ≤ 8 → bits2bytes(bits) = i2b(bits2int(bits)) ';%bytes2bits-one: ⊦ bytes2bits(by ') = byte2bits(by);% ⊦ ¬ m < n ↔ n ≤ m;