| ⊦ r ∈ refs ∧ r1 ∈ refs ∧ r ≠ r1 ∧ ¬ junkref(str, r1, st) ∧ ¬ disjoint(str, (refs -l r1) + st[r1 -- sk '] .refval, st) ∧ sk ∈ instfields(st[r1 -- _type] .type .class) ∧ r1 ≠ jvmref ∧ is_classtype(st[r1 -- _type] .type) → ¬ disjoint(str, refs, st) |
disjoint(str, refs, st), r ∈ refs, r1 ∈ refs, sk ∈ instfields(st[r1 -- _type] .type .class), is_classtype(st[r1 -- _type] .type) ⊦ r1 = jvmref, r = r1, junkref(str, r1, st), disjoint(str, (refs -l r1) + st[r1 -- sk] .refval ', st)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, references, Last, ⊦ refs + r = refs + r '], [CSIMPNAMEDSEQ : storefuns, , lookup-one, ⊦ st[r -- sk '] = st[r -- sk]])]]