| sk .fs = mkfs(class0, ty, fieldvar), sk × val ∈ fis, ∀ sk0, val0. sk0 × val0 ∈ fis → is_integervalue(val0) ∧ is_fskey(sk0) ∧ is_arraytype(sk0 .fs .type) ∧ okarray(st[r -- sk0], sk0 .fs .type .type, val0 .intval, st) ⊦ st[r -- sk] = refval(jvmref), r = jvmref, is_integervalue(val) ∧ ¬ is_indexkey(sk) ∧ is_arraytype(ty) ∧ okarray(st[r -- sk], ty .type, val .intval, st) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ is_indexkey(sk) ↔ is_fskey(sk)], [CSIMPSEQ : ⊦ mkfs(class, ty, fieldvar) .type = ty])], [EXTRATERMS : (sk, val)]]