| exactarray(refval(r), mkclasstype(class), st[r -- _length] .intval, st) ⊦ r = jvmref, exactreftype(refval(r), mkarraytype(mkclasstype(class)), st[r -- i ', refval(r0)]) ∧ refval(r) .refval ≠ jvmref ∧ (refval(r) .refval -- _length) × intval(st[r -- _length] .intval) ∈ st[r -- i ', refval(r0)] ∧ is_arrayref(refval(r) .refval, st[r -- _length] .intval, st[r -- i ', refval(r0)]) |
exactarray(refval(r), mkclasstype(class), st[r -- _length] .intval, st) ⊦ r = jvmref, exactreftype(refval(r), mkarraytype(mkclasstype(class)), st[r -- i ', refval(r0)]) ∧ r -- _length ∈ st ∧ st[r -- _length] = intval(st[r -- _length] .intval) ∧ is_arrayref(r, st[r -- _length] .intval, st[r -- i ', refval(r0)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (st[r -- i ', val][r0 -- _length] ) = st[r0 -- _length]], [CSIMPSEQ : sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st], [CSIMPSEQ : ⊦ _length ≠ i '], [CSIMPSEQ : ⊦ rk × val ∈ st ↔ ¬ ¬ (rk ∈ st ∧ st[rk] = val)], [CSIMPSEQ : ⊦ refval(r) .refval = r])]]