| fis .keys = instfields(class), newref(r, st), class∃(str, class), validfieldinits(fis, st), class+∃(str, class), ∀ sk, r1. sk × refval(r1) ∈ fis → ¬ junkref(str, r1, st) ⊦ r = jvmref, valid⊆(str, st, addobj(r, class, fis, st)), is_abstract(class) |
⊦ valid⊆(str, st, st0) ↔ (∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0)) ∧ (∀ r. ¬ r ∈ st ∧ r ∈ st0 → ¬ junkref(str, r, st0))
fis .keys = instfields(class), newref(r, st), class∃(str, class), validfieldinits(fis, st), class+∃(str, class), ∀ sk, r1. sk × refval(r1) ∈ fis → ¬ junkref(str, r1, st) ⊦ r = jvmref, (∀ r0, ty. validref(str, r0, ty, st) → validref(str, r0, ty, addobj(r, class, fis, st))) ∧ (∀ r0. ¬ r0 ∈ st ∧ r0 ∈ addobj(r, class, fis, st) → ¬ junkref(str, r0, addobj(r, class, fis, st))), is_abstract(class)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (addobj(r, class, fis, st), st, str)]]