| 0 ≤ i, i < n→i(# vals), is_array(str, r, addarray(r, ty, vals, st)), is_reftype(ty), type∃(str, ty), newref(r, st), # vals ≤ i→n(i), ¬ (addarray(r, ty, vals, st)[r0 -- _type]) .type ≤ ty ∨ junkref(str, r0, addarray(r, ty, vals, st)) ⊦ r0 = jvmref, r = jvmref, ty .jtelemtype = abstract_type, ty .jtelemtype = void_type, vals = [], vals[i→n(i)] ∈ vals |
0 ≤ i ⊦ ((* m)) ≤ i→n(i) ↔ n→i(m) ≤ i
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)])], [EXTRATERMS : (i, # vals)]]