| # int2bits(j) < i→n(i0), # int2bits(j) < i→n(i), 1 < i0, 0 < i0, 0 < i, i < i0, i ≤ i0, (i→n(i0) - # int2bits(j)) + i→n(i) < i→n(i0), ¬ 0 ≤ j → j < 0 ⊦ bits2int(restn(i→n(i0) - i→n(i), mklist(¬ 0 ≤ j, i→n(i0) - # int2bits(j)) + int2bits(j))) = j, i→n(i0) = # int2bits(j), mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j) = [], i = 0, i0 = 0 |
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m ≠ n → (m ≤ n ↔ m < n);% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ m < n ∧ n = n0 → m < n0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ m < m + n ↔ n ≠ 0;% ⊦ m + n < m + n0 ↔ n < n0;% ⊦ m < n → ¬ n < m;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)%n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: i→n(i0), # int2bits(j), n