| j ≤ i, 0 ≤ i, 0 ≤ j, 0 < i, ∀ i0, j. i→n(i0) < i→n(i) → true → j ≤ i0 ∧ 0 ≤ j → (2 ^ i0 - 1) / 2 ^ j = 2 ^ i0 / 2 ^ j - 1 ⊦ (2 ^ (i - 1) * 2) / 2 ^ j = (2 ^ (i - 1) * 2 - 1) / 2 ^ j + 1 |
⊦ 0 < i → j ^ i = j ^ i -1 * j
0 < j, j ≤ i, 0 ≤ i, 0 ≤ j, 0 < i, ∀ i0, j. i→n(i0) < i→n(i) → true → j ≤ i0 ∧ 0 ≤ j → (2 ^ i0 - 1) / 2 ^ j = 2 ^ i0 / 2 ^ j - 1 ⊦ (2 ^ (i - 1) * 2) / (2 ^ j -1 * 2) = (2 ^ (i - 1) * 2 - 1) / (2 ^ j -1 * 2) + 1
Used simplifier rules: lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%anti: ⊦ i ≤ j → (j ≤ i ↔ i = j); from specification int-abs%one: ⊦ i / 1 = i; from specification int-div%Sub-def: ⊦ i + (j - i) = j; 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%eq-pos: ⊦ 0 < i → (i * j = i * j0 ↔ j = j0); from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: j, 2