| 0 ≤ j, j < n→i(# vals), type∃(str, ty) ⊦ r = jvmref, ty .jtelemtype = abstract_type, ty .jtelemtype = void_type, vals = [], okval(vals[i→n(j)], ty), is_array(r, addarray(r, ty, vals, st)), vals[i→n(j)] ∈ vals |
⊦ m < # vals → (¬ vals[m] ∈ vals ↔ false)
¬ i→n(j) < # vals, 0 ≤ j, j < n→i(# vals), type∃(str, ty) ⊦ r = jvmref, ty .jtelemtype = abstract_type, ty .jtelemtype = void_type, vals = [], okval(vals[i→n(j)], ty), is_array(r, addarray(r, ty, vals, st)), vals[i→n(j)] ∈ vals
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (i→n(j), vals)]]