| lastn(8, int2bits(i)) = boolvar + bits ∧ lastn(8, int2bits(i)) ≠ [], i % 256 ≤ 127, 0 ≤ i, 127 < i, i % 256 < i, 0 < i, 8 ≤ # int2bits(i) ⊦ b2i(i2b(i % 256)) = i % 256, boolvar |
lastn(8, int2bits(i)) = false ' + bits, i % 256 ≤ 127, 0 ≤ i, 127 < i, i % 256 < i, 0 < i, 8 ≤ # int2bits(i) ⊦ b2i(i2b(i % 256)) = i % 256
Used simplifier rules: ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)% ⊦ lastn(n, bits) = [] ↔ n = 0;% ⊦ boolvar + bits = boolvar ' + bits;