| ¬ hasSharing(r, st) ∧ is_classtype(st[r -- _type] .type) ∧ r ≠ jvmref ⊦ ∀ sk, sk0. sk ≠ sk0 ∧ sk ∈ instfields(st[r -- _type] .type .class) ∧ sk0 ∈ instfields(st[r -- _type] .type .class) ∧ is_referencevalue(st[r -- sk]) ∧ st[r -- sk] .refval ≠ jvmref → st[r -- sk] ≠ st[r -- sk0] |
st[r -- sk0] = st[r -- sk], sk0 ∈ instfields(st[r -- _type] .type .class), sk ∈ instfields(st[r -- _type] .type .class), is_referencevalue(st[r -- sk]), is_classtype(st[r -- _type] .type) ⊦ st[r -- sk] .refval = jvmref, sk0 = sk, r = jvmref, hasSharing(r, st)
[[CONCRETESIMPRULES : ()]]