| 0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ j, j ≤ n→i(# vals) + i, r -- i0 ' ∈ putArray(vals, r, i, addarray(r, ty, j, st)), i0 < 0 ∨ i + n→i(# vals) ≤ i0 ⊦ r -- i0 ' ∈ st |
⊦ rk ∈ putArray(vals, r, i, st) ↔ rk ∈ st ∨ rk .ref = r ∧ is_indexkey(rk .key) ∧ i ≤ rk .key .index ∧ rk .key .index < i + n→i(# vals)
0 ≤ n→i(# vals) + i, 0 ≤ j, 0 ≤ i, i ≤ j, j ≤ n→i(# vals) + i, r -- i0 ' ∈ addarray(r, ty, j, st) ∨ (r -- i0 ') .ref = r ∧ is_indexkey((r -- i0 ') .key) ∧ i ≤ (r -- i0 ') .key .index ∧ (r -- i0 ') .key .index < i + n→i(# vals), i0 < 0 ∨ i + n→i(# vals) ≤ i0 ⊦ r -- i0 ' ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addarray(r, ty, j, st), i, r, vals, r -- i0 ')]]