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