| sk ∈ statfields(class0), validstatfields(str, st), okval(val, ty), tdname∃(str, class0), initdone(class0, st) ⊦ mkfs(class, ty, fieldvar) ' = _type, mkfs(class, ty, fieldvar) ' = _length, r = jvmref, is_referencevalue(val), validstatfield(str, sk, st[r -- mkfs(class, ty, fieldvar) ', val]) |
⊦ ¬ is_referencevalue(val) ∧ validstatfield(str, sk0, st) ∧ is_fskey(sk) ∧ oktype(val, sk .fs .type, st) ∧ sk .fs .type ≠ void_type ∧ sk ≠ _length → validstatfield(str, sk0, st[r -- sk, val])
¬ ( ¬ is_referencevalue(val) ∧ validstatfield(str, sk, st) ∧ is_fskey(mkfs(class, ty, fieldvar) ') ∧ oktype(val, mkfs(class, ty, fieldvar) ' .fs .type, st) ∧ mkfs(class, ty, fieldvar) ' .fs .type ≠ void_type ∧ mkfs(class, ty, fieldvar) ' ≠ _length), sk ∈ statfields(class0), validstatfields(str, st), okval(val, ty), tdname∃(str, class0), initdone(class0, st) ⊦ mkfs(class, ty, fieldvar) ' = _type, mkfs(class, ty, fieldvar) ' = _length, r = jvmref, is_referencevalue(val), validstatfield(str, sk, st[r -- mkfs(class, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, mkfs(class, ty, fieldvar) ', r, st, sk, str)]]