| i < ~1, i < 0, 2 ≤ m ⊦ m ≤ # int2bits(i) ↔ ¬ # int2bits(i) ≤ i→n(n→i(m) - 2) + 1, m = 0 |
j ≤ i, 0 ≤ j ⊦ i→n(i - j) = i→n(i) - i→n(j)
2 ≤ n→i(m) ∧ 0 ≤ 2, i < ~1, i < 0, 2 ≤ m ⊦ m ≤ # int2bits(i) ↔ ¬ # int2bits(i) ≤ (i→n(n→i(m)) - i→n(2)) + 1, m = 0
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%int2bits-leneq-neg: ⊦ j < 0 ∧ 1 < n → ( # int2bits(j) = n ↔ ~(2 ^ (n→i(n) - 1)) ≤ j ∧ j < ~(2 ^ (n→i(n) - 2)));%num-n2i-ls-06: 0 ≤ i ⊦ (* i) ≤ n→i(n) ↔ i→n(i) ≤ n; from specification intnat%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%twols-02: ⊦ m ≠ 0 → (m < 2 ↔ m = 1); from specification nat-basic1%f: ⊦ m < n → n ≠ 0; from specification nat-basic1%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%let: ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward) from specification nat%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%anti: ⊦ m ≤ n → (n ≤ m ↔ m = n); from specification nat Used terms: 2, n→i(m)