| 0 ≤ i, 0 ≤ j0, 0 < j, j0 < 2 ^ i ⊦ # uint2bits(j * 2 ^ i + j0) = # uint2bits(j) + i→n(i) |
⊦ 0 ≤ i ∧ 0 < j ∧ 0 ≤ j0 ∧ j0 < 2 ^ i → uint2bits(j * 2 ^ i + j0) = uint2bits(j) + fillsgn(i→n(i) + 1, uint2bits(j0)).rest
0 ≤ i ∧ 0 < j ∧ 0 ≤ j0 ∧ j0 < 2 ^ i, 0 ≤ i, 0 ≤ j0, 0 < j, j0 < 2 ^ i ⊦ #(uint2bits(j) + fillsgn(i→n(i) + 1, uint2bits(j0)).rest) = # uint2bits(j) + i→n(i)
Used simplifier rules: ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false); Used terms: j0, i, j