| sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk), is_integervalue(val), sk × val ∈ fis, okarray(st[r -- sk], ty .type, val .intval, addclass(class, fis0, st)), is_arraytype(ty), ∀ 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 -- sk], ty .type, val .intval, st) |
ty = mkarraytype(ty0), sk .fs = mkfs(class0, ty, fieldvar), is_fskey(sk), is_integervalue(val), sk × val ∈ fis, okarray(st[r -- sk], ty0, val .intval, addclass(class, fis0, st)), is_arraytype(ty), ∀ 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 -- sk], ty0, val .intval, st)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_arraytype(ty) → ( ty0 = ty .type ↔ ty = mkarraytype(ty0))])], [EXTRATERMS : (ty, ty0)]]