| i0 ≤ 2 ^ i, 0 ≤ j0, j0 < 2, 0 ≤ i0, 0 ≤ 2 ^ i, 0 ≤ i ⊦ i0 * 2 + j0 ≤ 2 ^ i * 2 + 1 |
j * i < j * i0 + j0, abs(j0) < j ⊦ i ≤ i0
Used simplifier rules: ls-pos-2pot: ⊦ 0 ≤ j → (2 ^ j < 2 ^ j0 ↔ j < j0);%anti: ⊦ i ≤ j → (j ≤ i ↔ i = j); from specification int-abs%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%zero-gels-04: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j; from specification int-abs%ls-01: ⊦ i + j < i + i0 ↔ j < i0; from specification int-basic2%num-between: i + 1 = i0 ⊦ j < (* i0) → ¬ (* i) < j; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%absle: ⊦ 0 ≤ i → abs(i) = i; from specification int-abs%numlelsdel: j0 ≠ 0, j ≤ j0 ⊦ i < (* j) → i < (* j0); from specification int-abs%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%commutativity: ⊦ i * j = j * i; from specification int-mult%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%mods-ls-04: ⊦ j0 < j ∧ 0 ≤ i ∧ 0 ≤ i0 ∧ 0 ≤ j0 → (i * j + j0 < i0 * j ↔ i < i0); from specification int-mult%irref: ⊦ ¬ i < i; from specification int-basic1%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult Used terms: 2, 2 ^ i, i0, j0