| st[(r ' + refs) .last -- _type] .type = mkarraytype(ty), st[(r ' + refs) .last -- i '] = refval(r0), 0 < st[(r ' + refs) .last -- _length] .intval, 0 ≤ i, validrefs(str, r0 ', ty, st), i < st[(r ' + refs) .last -- _length] .intval, validrefs(str, r ' + refs, mkclasstype(`java.lang.Object' .class), st), validrefs(str, r ' + refs + r0 ', mkclasstype(`java.lang.Object' .class), st), is_valid_ref(str, r, st), is_array(str, (r ' + refs) .last, st) ⊦ r = r0, r = jvmref, (r ' + refs) .last = jvmref, ∃ i0. ¬ i0 < 0 ∧ ¬ st[(r ' + refs) .last -- _length] .intval ≤ i0 ∧ is_referencevalue(st[(r ' + refs) .last -- i0 ']) ∧ st[(r ' + refs) .last -- i0 '] .refval = r0 |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ is_referencevalue(refval(r))], [CSIMPSEQ : ⊦ refval(r) .refval = r])], [EXTRATERMS : (i)]]