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