| mkfs(class0, mkarraytype(ty0), fieldvar) ' × intval(i) ∈ fis, okarray(st[r -- mkfs(class0, mkarraytype(ty0), fieldvar) '], ty0, i, addclass(class, fis0, st)), ∀ sk, val. sk × val ∈ fis → is_integervalue(val) ∧ is_fskey(sk) ∧ is_arraytype(sk .fs .type) ∧ okarray(st[r -- sk], sk .fs .type .type, val .intval, addclass(class, fis0, st)) ⊦ r = jvmref, okarray(st[r -- mkfs(class0, mkarraytype(ty0), fieldvar) '], ty0, i, st) |
⊦ val ≠ refval(jvmref) → (okarray(val, ty, i, addclass(class, fis, st)) ↔ okarray(val, ty, i, st))
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ okarray(refval(r), ty, i, st) → r ≠ jvmref], [CSIMPFORWARD : ⊦ okarray(refval(r), ty, i, st) → st[r -- _length] .intval = i])], [EXTRATERMS : (st, fis0, class, i, ty0, st[r -- mkfs(class0, mkarraytype(ty0), fieldvar) '])]]