| 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) |
⊦ rk ≠ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∧ rk ≠ _uninit → (initdone(class, st[rk, val]) ↔ initdone(class, st))
¬ (r -- mkfs(class, ty, fieldvar) ' ≠ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∧ r -- mkfs(class, ty, fieldvar) ' ≠ _uninit), 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 -- mkfs(class, ty, fieldvar) ' ≠ jvmref -- mkfs(class0, void_type, `initstate' .field) ' ∧ r -- mkfs(class, ty, fieldvar) ' ≠ _uninit, okval(val, ty), sk ∈ statfields(class0), initdone(class0, st), 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)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, r -- mkfs(class, ty, fieldvar) ', st, class0)]]