| _mode ∈ addarray(r, ty, [], st), ∀ st, ty, r, vals0. # vals0 < # [] → (_mode ∈ addarray(r, ty, vals0, st) → r = jvmref ∨ _mode ∈ st) ⊦ r = jvmref, _mode ∈ st |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
_mode ∈ addarray(r, [], 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# []))]), ∀ st, ty, r, vals0. # vals0 < # [] → (_mode ∈ addarray(r, ty, vals0, st) → r = jvmref ∨ _mode ∈ st) ⊦ r = jvmref, _mode ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, [], ty, r)]]