| newref(r1, st), st[r -- _type] .type ≤ ty1 ⊦ r1 = jvmref, r = jvmref, validref(str, r, ty1, addarray(r1, ty, vals, st)), junkref(str, r, st) |
⊦ validref(str, r, ty, st) ↔ r = jvmref ∨ st[r -- _type] .type ≤ ty ∧ ¬ junkref(str, r, st)
newref(r1, st), st[r -- _type] .type ≤ ty1 ⊦ r1 = jvmref, r = jvmref, r = jvmref ∨ (addarray(r1, ty, vals, st)[r -- _type]) .type ≤ ty1 ∧ ¬ junkref(str, r, addarray(r1, ty, vals, st)), junkref(str, r, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addarray(r1, ty, vals, st), ty1, r, str)]]