| validstatfield(str, fs ', st), is_fskey(sk), okval(val, sk .fs .type) ⊦ sk = _length, sk .fs .type = void_type, is_referencevalue(val), (initdone(fs .class, st[r -- sk, val]) → validfield(str, jvmref, fs ', st[r -- sk, val])) ∧ tdname∃(str, fs .class) ∧ fs ' ∈ statfields(fs .class) |
fs = mkfs(class, ty, fieldvar), validstatfield(str, fs ', st), is_fskey(sk), okval(val, sk .fs .type) ⊦ sk = _length, sk .fs .type = void_type, is_referencevalue(val), (initdone(class, st[r -- sk, val]) → validfield(str, jvmref, fs ', st[r -- sk, val])) ∧ tdname∃(str, class) ∧ fs ' ∈ statfields(class)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ class = fs .class ∧ ty = fs .type ∧ fieldvar = fs .field ↔ fs = mkfs(class, ty, fieldvar)])], [EXTRATERMS : (fs, class, ty, fieldvar)]]