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