| st[r -- _type] = typeval(mkclasstype(class0)), r ∈ st, r -- _type ∈ st, okval(val, ty), sk ∈ instfields(class0), is_fskey(sk), r -- sk ∈ st, okval(st[r -- sk], sk .fs .type) ⊦ r = jvmref, ty = void_type, okval(st[r1 -- mkfs(class, ty, fieldvar) ', val][r -- sk], sk .fs .type) |
sk = fs ', st[r -- _type] = typeval(mkclasstype(class0)), r ∈ st, r -- _type ∈ st, okval(val, ty), sk ∈ instfields(class0), is_fskey(sk), r -- sk ∈ st, okval(st[r -- sk], fs .type) ⊦ r = jvmref, ty = void_type, okval(st[r1 -- mkfs(class, ty, fieldvar) ', val][r -- sk], fs .type)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_fskey(sk) → (fs = sk .fs ↔ sk = fs ')])], [EXTRATERMS : (sk, fs)]]