| st[r1 -- _type] = typeval(mkclasstype(class)), r1 ∈ st, goodfieldsandtypes(r1, instfields(class), addarray(r0, ty, vals, st)), r1 -- _type ∈ st ⊦ r1 = r0, r1 = jvmref, goodfieldsandtypes(r1, instfields(class), st) |
⊦ goodfieldsandtypes(r, sks, st) ↔ (∀ sk. sk ∈ sks → goodfieldandtype(r, sk, st))
st[r1 -- _type] = typeval(mkclasstype(class)), r1 ∈ st, goodfieldsandtypes(r1, instfields(class), addarray(r0, ty, vals, st)), r1 -- _type ∈ st ⊦ r1 = r0, r1 = jvmref, ∀ sk. sk ∈ instfields(class) → goodfieldandtype(r1, sk, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, instfields(class), r1)]]