| validfieldinits(str, fis0, st), validval(str, refval(r), ty, st), type∃(str, ty), ∀ str, st. validfieldinits(str, fis0, st) → validreflist(str, mkjavavalues(fis0 .vals .nonnullrefs), mkclasstype(`java.lang.Object' .class), st) ⊦ validref(str, r, mkclasstype(`java.lang.Object' .class), st), r = jvmref |
⊦ validval(str, val, ty, st) ↔ okval(val, ty) ∧ (is_referencevalue(val) → validrefval(str, val, ty, st))
validfieldinits(str, fis0, st), okval(refval(r), ty) ∧ (is_referencevalue(refval(r)) → validrefval(str, refval(r), ty, st)), type∃(str, ty), ∀ str, st. validfieldinits(str, fis0, st) → validreflist(str, mkjavavalues(fis0 .vals .nonnullrefs), mkclasstype(`java.lang.Object' .class), st) ⊦ validref(str, r, mkclasstype(`java.lang.Object' .class), st), r = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, ty, refval(r), str)]]