| ¬ uint2bits(i / 2).rest ≠ [], 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 < i0 → uint2bits(i0).rest.first ⊦ i = 1, (uint2bits(i / 2).rest + (i % 2 = 1)').first |
uint2bits(i / 2).rest = [], i % 2 = 0, 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 < i0 → uint2bits(i0).rest.first ⊦ i = 1
Used simplifier rules: ⊦ i < j ∧ i = i0 → i0 < j; (forward)% ⊦ i % 2 ≠ 1 ∧ 0 < i → i % 2 = 0; (forward)% ⊦ boolvar '.first ↔ boolvar;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ [] + bits = bits;