| st[r -- i '] .refval = jvmref, validrefs(str, refs + r ', ty, st), is_array(str, r, st), i < st[r -- _length] .intval, is_reftype(st[r -- _type] .type .type), 0 ≤ i, 0 < st[r -- _length] .intval ⊦ validrefs(str, refs + r ' + jvmref ', ty, st), ¬ i < 0 ∧ ¬ st[r -- _length] .intval ≤ i ∧ is_referencevalue(st[r -- i ']) ∧ jvmref = st[r -- i '] .refval |
validrefs(str, refs + r ', ty, st), is_array(str, r, st), i < st[r -- _length] .intval, is_reftype(st[r -- _type] .type .type), 0 ≤ i, 0 < st[r -- _length] .intval ⊦ validrefs(str, refs + r ' + jvmref ', ty, st), is_referencevalue(st[r -- i '])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_referencevalue(val) → val .refval = jvmref], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)])]]