| 0 ≤ i1, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i0 < n→i(# ar), inv(mk(ar, n→i(# ar), i0, i1)), i1 < n→i(# ar), inv(mk(ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1)), 0 ≤ i0 + i1 ⊦ # ar = 0, tolist(mk(ar, n→i(# ar), i0, i1), i→n(i1)) = tolist(mk(ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1), i→n(i1)) |
⊦ x0 = x1 ↔ # x0 = # x1 ∧ (∀ n. n < # x0 → x0[n] = x1[n])
0 ≤ i1, 0 ≤ (i0 + i1) % n→i(# ar), 0 ≤ i0, i1 ≤ n→i(# ar), i0 < n→i(# ar), inv(mk(ar, n→i(# ar), i0, i1)), i1 < n→i(# ar), inv(mk(ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1)), 0 ≤ i0 + i1 ⊦ # ar = 0, # tolist(mk(ar, n→i(# ar), i0, i1), i→n(i1)) = # tolist(mk(ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1), i→n(i1)) ∧ (∀ n. n < # tolist(mk(ar, n→i(# ar), i0, i1), i→n(i1)) → (tolist(mk(ar, n→i(# ar), i0, i1), i→n(i1))[n]) = (tolist(mk(ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1), i→n(i1))[n]))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (tolist (mk (ar[(i→n(i0) + i→n(i1)) % # ar, a], n→i(# ar), i0, i1 + 1), i→n(i1)), tolist(mk(ar, n→i(# ar), i0, i1), i→n(i1)))]]