| st[r1 -- _type] .type = mkclasstype(class), sk ∈ instfields(class), disjoint(str, r ' + r1 ', st) ⊦ r = r1, r1 = jvmref, disjoint(str, r ' + st[r1 -- sk] .refval ', st), junkref(str, r1, st) |
⊦ 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)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, references, in-06, ⊦ ¬ r ∈ r0 ' + refs ↔ r ≠ r0 ∧ ¬ r ∈ refs], [CSIMPNAMEDSEQ : list, references, a, ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPNAMEDSEQ : list, references, in-01, ⊦ r ≠ r0 → (r ∈ r0 ' + refs ↔ r ∈ refs)], [CSIMPNAMEDSEQ : list, references, in-17, ⊦ r ∈ r0 ' ↔ r = r0], [CSIMPNAMEDSEQ : list-del, references, del-n, ⊦ r ≠ r0 → (r0 ' + refs) -l r = r0 ' + (refs -l r)], [CSIMPNAMEDSEQ : list-del, references, one, ⊦ r ' -l r = []], [CSIMPNAMEDSEQ : list, references, app, ⊦ refs + [] = refs], [CSIMPNAMEDSEQ : storefuns, , lookup-one, ⊦ st[r -- sk '] = st[r -- sk]], [CSIMPNAMEDSEQ : list, references, Last, ⊦ refs + r = refs + r '], [CSIMPNAMEDSEQ : javatype, , sel-02, ⊦ mkclasstype(class) .class = class], [CSIMPNAMEDSEQ : javatype, , test-10, ⊦ is_classtype (mkclasstype(class))])], [EXTRATERMS : (sk, r1, r, st, r ' + r1 ', str)]]