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