| validref(str, r, ty, st), validref(str, r0, mkarraytype(int_type), st) ⊦ validref(str, r, ty, st[r0 -- i ', intval(j)]), okval(intval(j), st[r0 -- _type] .type .type) |
⊦ r ≠ jvmref ∧ (¬ is_valid_ref(str, r, st) ∨ ¬ st[r -- _type] .type ≤ ty) → ¬ validref(str, r, ty, st)
¬ (r0 ≠ jvmref ∧ (¬ is_valid_ref(str, r0, st) ∨ ¬ st[r0 -- _type] .type ≤ mkarraytype(int_type))), validref(str, r, ty, st), validref(str, r0, mkarraytype(int_type), st) ⊦ validref(str, r, ty, st[r0 -- i ', intval(j)]), okval(intval(j), st[r0 -- _type] .type .type)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, mkarraytype(int_type), r0, str)]]