| ¬ (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) |
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), r0 ≠ jvmref ∧ (¬ is_valid_ref(str, r0, st) ∨ ¬ is_arraytype(st[r0 -- _type] .type) ∨ st[r0 -- _type] .type .type ≠ int_type)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ty ≤ int_type ↔ ty = int_type], [CSIMPSEQ : ⊦ ty0 ≤ mkarraytype(ty) ↔ is_arraytype(ty0) ∧ ty0 .type ≤ ty])]]