| is_integervalue(val), mkfs(class0, mkarraytype(ty0), fieldvar) ' × val ∈ fis, okarray(st[r -- mkfs(class0, mkarraytype(ty0), fieldvar) '], ty0, val .intval, 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, val .intval, st) |
val = intval(i), is_integervalue(val), mkfs(class0, mkarraytype(ty0), fieldvar) ' × val ∈ 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)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_integervalue(val) → ( i = val .intval ↔ val = intval(i))])], [EXTRATERMS : (val, i)]]