| ¬ (unchangedNorec(r, st, st1) ∧ fs ' ∈ instfields(st[r -- _type] .type .class) ∧ is_classtype(st[r -- _type] .type) ∧ r ≠ jvmref), is_obj(str, r, st), fs ' ∈ instfields(st[r -- _type] .type .class), unchanged(str, r, st, st1) ⊦ r = jvmref, st[r -- fs '] = st1[r -- fs '] |
is_obj(str, r, st), fs ' ∈ instfields(st[r -- _type] .type .class), unchanged(str, r, st, st1), is_classtype(st[r -- _type] .type) ⊦ r = jvmref, st[r -- fs '] = st1[r -- fs '], unchangedNorec(r, st, st1)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_classtype (st[r -- _type] .type) → ¬ is_obj(str, r, st)])]]