| okval(val, ty), sk ∈ statfields(class0), initdone(class0, st[r -- mkfs(class, ty, fieldvar) ', val]), tdname∃(str, class0), initdone(class0, st) → validstatfield(str, sk, st) ⊦ mkfs(class, ty, fieldvar) ' = _length, validstatfield(str, sk, st[r -- mkfs(class, ty, fieldvar) ', val]), is_referencevalue(val), (r ≠ jvmref ∨ class ≠ class0 ∨ ty ≠ void_type ∨ fieldvar ≠ `initstate' .field) ∧ (r ≠ jvmref ∨ class ≠ `java.lang.Object' .class ∨ ty ≠ void_type ∨ fieldvar ≠ `uninit' .field) |
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : specialkeys, , length-01, ⊦ mkfs (class1, ty, `initstate' .field) ' ≠ _length], [CSIMPNAMEDSEQ : valuefuns, , okval-void, ⊦ okval(val, void_type) ↔ is_referencevalue(val)], [CSIMPNAMEDSEQ : storefuns, , init-put-12, ⊦ initdone (class1, st[ jvmref -- mkfs (class1, void_type, `initstate' .field) ', val]) ↔ val ≠ initval(error) ∧ val ≠ initval(undone)])]]