| st[r -- _type] = typeval(mkclasstype(class)), goodfieldsandtypes(r, instfields(class), st), r -- _type ∈ st, r ∈ st ⊦ r = r0, r = jvmref, r ≠ jvmref ∧ (r -- _type) × typeval(mkclasstype(class)) ∈ addarray(r0, ty0, vals, st) ∧ goodfieldsandtypes(r, instfields(class), addarray(r0, ty0, vals, st)) |
⊦ r ≠ r0 → ((r -- sk) × val ∈ addarray(r0, ty, vals, st) ↔ (r -- sk) × val ∈ st)
st[r -- _type] = typeval(mkclasstype(class)), goodfieldsandtypes(r, instfields(class), st), r -- _type ∈ st, r ∈ st ⊦ r = r0, r = jvmref, goodfieldsandtypes(r, instfields(class), addarray(r0, ty0, vals, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk × val ∈ st ↔ rk ∈ st ∧ st[rk] = val])]]