| i < 1 ∨ n→i(# vals) + 1 ≤ i, r0 -- i ' ∈ addarray(r0, ty, n→i(# vals) + 1, st) ↔ r0 -- i ' ∈ addarray(r0, ty, refval(jvmref) ' + vals, st), is_reftype(ty) ⊦ (addarray(r0, ty, n→i(# vals) + 1, st)[r0 -- i ']) = (addarray(r0, ty, refval(jvmref) ' + vals, st)[r0 -- i ']), ¬ i ≤ 0 ∧ ¬ n→i(# vals) < i |
r0 -- i ' ∈ addarray(r0, ty, n→i(# vals) + 1, st) ↔ r0 -- i ' ∈ addarray(r0, ty, refval(jvmref) ' + vals, st), is_reftype(ty), i ≤ 0 ∨ n→i(# vals) < i ⊦ (addarray(r0, ty, n→i(# vals) + 1, st)[r0 -- i ']) = (addarray(r0, ty, refval(jvmref) ' + vals, st)[r0 -- i ']), ¬ i ≤ 0 ∧ ¬ n→i(# vals) < i
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + 1 ≤ j ↔ i < j], [CSIMPSEQ : ⊦ i < 1 ↔ i ≤ 0])]]