| st[r1 -- _type] = typeval(mkclasstype(class)), r1 ∈ st, r1 ≠ jvmref ∧ (r1 -- _type) × typeval(mkclasstype(class)) ∈ addarray(r0, ty, vals, st) ∧ goodfieldsandtypes(r1, instfields(class), addarray(r0, ty, vals, st)), r1 -- _type ∈ st ⊦ r1 = jvmref, r1 = r0, is_obj(r1, class, st) |
⊦ r ≠ r0 → ((r -- sk) × val ∈ addarray(r0, ty, vals, st) ↔ (r -- sk) × val ∈ 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, is_obj(r1, class, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk × val ∈ st ↔ rk ∈ st ∧ st[rk] = val])]]