| 2 ^ (i1 + i0) = 2 ^ i0 + j, i1 < 0, 0 ≤ i1 + i0, 0 ≤ j, 0 ≤ i0 ⊦ j = 2 ^ i0 * ~1 ∧ 0 ≤ i1 |
2 ^ (i1 + i0) = 2 ^ i0 + j, i1 < 0, 2 ^ (i1 + i0) < 2 ^ i0, 0 ≤ i0, 0 ≤ j, 0 ≤ i1 + i0 ⊦ j = 2 ^ i0 * ~1 ∧ 0 ≤ i1
Used simplifier rules: ls-pos-2pot: ⊦ 0 ≤ j → (2 ^ j < 2 ^ j0 ↔ j < j0);% ⊦ i + j < j ↔ i < 0; (s)% ⊦ i < 0 ∧ 0 ≤ j → i < j; (s)%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2 Used formulas: 2 ^ (i1 + i0) < 2 ^ i0