| ¬ 0 + # int2bits(i) ≤ i→n(band(j, 31)), 32 = n1 + # int2bits(i), 32 = n0 + i→n(band(j, 31)), # int2bits(i) ≤ 32, band(j, 31) ≤ 32, n0 ≤ n1 ⊦ band(j, 31) = 0, bits2int(sublist(0, # int2bits(i), mklist(¬ 0 ≤ i, i→n(band(j, 31))) + int2bits(i))) = bits2int((¬ 0 ≤ i)') |
32 = n0 + i→n(band(j, 31)), 32 = n1 + # int2bits(i), i→n(band(j, 31)) < # int2bits(i), n0 ≤ n1, band(j, 31) ≤ 32, # int2bits(i) ≤ 32, band(j, 31) < 32 ⊦ bits2int(sublist(0, # int2bits(i), mklist(¬ 0 ≤ i, i→n(band(j, 31))) + int2bits(i))) = bits2int((¬ 0 ≤ i)'), band(j, 31) = 0
Used simplifier rules: band-commutativity: ⊦ band(i, j) = band(j, i);%band-associativity: ⊦ band(i, band(i0, j)) = band(band(i, i0), j);%band-ls-zero-01: ⊦ ¬ band(j, 31) < 0;%num-i2n-ls: 0 ≤ i ⊦ i→n(i) < (* m) ↔ i < n→i(m); from specification intnat%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%int2bits-not-empty: ⊦ int2bits(j) ≠ []; from specification int2bits%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%ax-08: ⊦ n + 0 = n; from specification nat-basic2