| n→i(# int2bits(j)) = i0 + 1, i→n(i0) + 1 < # int2bits(j), j < 0, j < ~1 ⊦ # int2bits(j) = 1 |
0 ≤ i ⊦ n→i(n) = (* i) ↔ n = i→n(i)
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%minus-one: ⊦ i < 0 → (n→i(m) = i + 1 ↔ m = 0 ∧ i = ~1); from specification intnat%numlsf: ⊦ i < (* j) ∧ j < 0 → i < 0; (forward) from specification int-basic1%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%abs-zero: ⊦ i→n(i) = 0 ↔ i = 0; from specification intnat%numadd-01: ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0; from specification int-abs%numleledel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j; from specification int-abs%num-i2n-eq: 0 ≤ i ⊦ i→n(i) = (* m) ↔ i = n→i(m); from specification intnat%lels-02: ⊦ i ≠ j → (i ≤ j ↔ i < j); from specification int-abs%mone-06: ⊦ ~1 < i ↔ 0 ≤ i; from specification int-abs%abs-succ-03: ⊦ 0 < i → i→n(i + 1) = i→n(i) + 1; from specification intnat%l: ⊦ m + n < m + n0 ↔ n < n0; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2 Used terms: i0 + 1, # int2bits(j)