| i→n(i1) = n + i→n(i), n→i(# vals) + i ≤ i1, 0 ≤ i, 0 ≤ i0 + n→i(# vals), 0 ≤ i0 + i + n→i(# vals), 0 < i0, i1 < i + n→i(# vals) + i0, 0 ≤ i1, 0 < i + n→i(# vals) + i0, 0 < n→i(# vals) + i0, i ≤ i1 ⊦ initial_value(ty) = (vals + mklist(initial_value(ty), i→n(i0)))[n] |
⊦ i + ((* j)) ≤ ((* j0)) ↔ i ≤ j0 - j
i→n(i1) = n + i→n(i), n→i(# vals) ≤ i1 - i, 0 ≤ i, 0 ≤ i0 + n→i(# vals), 0 ≤ i0 + i + n→i(# vals), 0 < i0, i1 < i + n→i(# vals) + i0, 0 ≤ i1, 0 < i + n→i(# vals) + i0, 0 < n→i(# vals) + i0, i ≤ i1 ⊦ initial_value(ty) = (vals + mklist(initial_value(ty), i→n(i0)))[n]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (i1, i, n→i(# vals))]]