| vals[i→n(i)] = refval(r0), i < n→i(# vals), class∃(str, class), newref(r, st), is_array(str, r, addarray(r, mkclasstype(class), vals, st)), 0 ≤ i, junkrefs(str, r0 ' + refs, mkclasstype(class), addarray(r, mkclasstype(class), vals, st)) ⊦ r = jvmref, vals = [], refval(r0) ∈ vals |
⊦ val ∈ vals ↔ (∃ n. n < # vals ∧ vals[n] = val)
vals[i→n(i)] = refval(r0), i < n→i(# vals), class∃(str, class), newref(r, st), is_array(str, r, addarray(r, mkclasstype(class), vals, st)), 0 ≤ i, junkrefs(str, r0 ' + refs, mkclasstype(class), addarray(r, mkclasstype(class), vals, st)) ⊦ r = jvmref, vals = [], ∃ n. n < # vals ∧ vals[n] = refval(r0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (vals, refval(r0))]]