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