| inv(mk(ar, i, i0, n→i(# x) + 1)) ∧ 0 < 1 + # x, a ' + x = tolist(mk(ar, i, i0, n→i(# x) + 1), 1 + # x) ∧ (a ' + x)[0] = (mk(ar, i, i0, n→i(# x) + 1) .data)[(i→n(mk(ar, i, i0, n→i(# x) + 1) .first) + 0) % i→n(mk(ar, i, i0, n→i(# x) + 1) .size)], 0 ≤ i0, inv(mk(ar, i, (i0 + 1) % i, n→i(# x))), inv(mk(ar, i, i0, n→i(# x) + 1)), i0 < n→i(# ar) ⊦ a = ar[i→n(i0)], # ar = 0 |
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)]
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ a ' + x0 = x1 → a ∈ x1], [CSIMPSEQ : ⊦ m + 1 ≠ 0], [CSIMPSEQ : ⊦ 0 < m ↔ m ≠ 0], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .size = i], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ 0 + m = m], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .first = i0], [CSIMPSEQ : ⊦ mk(ar, i, i0, i1) .data = ar], [CSIMPSEQ : ⊦ (x0 + x1) + x2 = x0 + x1 + x2], [CSIMPSEQ : ⊦ (a ' + x0)[0] = a])]]