| ¬ 1 < n→i(# int2bits(j)), 0 ≤ j, 2 ^ (n→i(# int2bits(j)) - 1) ≤ j, 2 + i→n(n→i(# int2bits(j)) - 1) ≤ # uint2bits(j) ⊦ |
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%int2bits-first-02: ⊦ int2bits(j).first ↔ j < 0;%int2bits-eq: ⊦ int2bits(j) = false ' ↔ j = 0;%int2bits-zero: ⊦ int2bits(0) = false ';%uint2bits-zero: ⊦ uint2bits(0) = false ';% ⊦ # boolvar ' = 0 +1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ # bits = 1 ↔ bits = bits.first + [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);%0 ≤ i ⊦ (* i) < n→i(n) ↔ i→n(i) < n;