| ¬ i→n(i0) < i→n(i), ar[i→n(i0) % i→n(i)] ' + x = tolist(mk(ar, i, i0, n→i(# x) + 1), 1 + # x), i0 < n→i(# ar), inv(mk(ar, i, i0, n→i(# x) + 1)), inv(mk(ar, i, (i0 + 1) % i, n→i(# x))), 0 ≤ i0, ar[i→n(i0) % i→n(i)] ∈ tolist(mk(ar, i, i0, n→i(# x) + 1), 1 + # x) ⊦ # ar = 0, ar[i→n(i0) % i→n(i)] = ar[i→n(i0)] |
ar[i→n(i0) % i→n(i)] ' + x = tolist(mk(ar, i, i0, n→i(# x) + 1), 1 + # x), i0 < n→i(# ar), inv(mk(ar, i, i0, n→i(# x) + 1)), inv(mk(ar, i, (i0 + 1) % i, n→i(# x))), 0 ≤ i0, ar[i→n(i0) % i→n(i)] ∈ tolist(mk(ar, i, i0, n→i(# x) + 1), 1 + # x), abs(i) ≤ i0, abs(i) < n→i(# ar) ⊦ # ar = 0, ar[i→n(i0) % i→n(i)] = ar[i→n(i0)]
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ 0 ≤ i → abs(i) = i], [CSIMPSEQ : ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j)])]]