| i < 0, validrefs(str, r0 ' + refs0, ty, st[r -- i ', val]), ¬ is_valid_ref(str, r0, st) ∨ ¬ st[r0 -- _type] .type ≤ ty, ∀ i0, str0, ty0, st0, r1, val0. ¬ 0 ≤ i0 → (validrefs(str0, refs0, ty0, st0[r1 -- i0 ', val0]) ↔ validrefs(str0, refs0, ty0, st0)) ⊦ r0 = jvmref |
⊦ r ≠ jvmref ∧ (¬ is_valid_ref(str, r, st) ∨ ¬ st[r -- _type] .type ≤ ty) → ¬ validrefs(str, r ' + refs, ty, st)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : addfuns, , isvalidref-put-array-badindex, ⊦ i < 0 → ( is_valid_ref (str, r0, st[r -- i ', val]) ↔ is_valid_ref(str, r0, st))], [CSIMPNAMEDSEQ : javastore, , type-at, ⊦ (st[r -- i ', val] [r0 -- _type ] ) = st[r0 -- _type]])], [EXTRATERMS : (st[r -- i ', val], ty, refs0, r0, str)]]