| 0 ≤ i0 -1, 0 ≤ j, ∀ j. 0 ≤ j ∧ 0 ≤ i0 → i→n(i0) + i→n(j) = i→n(i0 + j) ⊦ i→n(i0 -1) + i→n(j) = i→n(i0 -1 + j) |
0 < i0, 0 ≤ j, ∀ j. 0 ≤ j ∧ 0 ≤ i0 → i→n(i0) + i→n(j) = i→n(i0 + j) ⊦ i→n(i0 - 1) + i→n(j) = i→n(j + i0 - 1)
Used simplifier rules: forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs% ⊦ 1 ≤ i ↔ 0 < i; (s)% ⊦ i ≤ j - i0 ↔ i + i0 ≤ j; (s)%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2% ⊦ i + (j - i0) = i + j - i0; (s)% ⊦ i -1 = i - 1; (s)