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