| ¬ 0 < i→n(i), 0 < j, 2 ^ i < j, 0 ≤ i, ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ i ∧ 2 ^ i < j0 → uint2bits(j0 % 2 ^ i) = sgn(false ' + lastn(i→n(i), uint2bits(j0).rest)) ⊦ j = 1, uint2bits(j % 2 ^ i) = sgn(false ' + lastn(i→n(i), uint2bits(j / 2).rest + (j % 2 = 1)')) |
Used simplifier rules: uint2bits-zero: ⊦ uint2bits(0) = false ';% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ sgn(boolvar ') = boolvar ';% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;% ⊦ lastn(0, bits) = [];% ⊦ i % 1 = 0;% ⊦ i < j ∧ i = i0 → i0 < j; (forward)% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ 0 < n ↔ n ≠ 0;