| junkrefs(str, refs, (st[r0 -- fs ', val][refs .first -- _type]) .type, st[r0 -- fs ', val]) ⊦ refs = [], junkref(str, refs .first, st), is_typevalue(st[r0 -- _type]) ∧ is_reftype(st[r0 -- _type] .type) |
refs = r + refs0, junkrefs(str, refs, (st[r0 -- fs ', val][r -- _type]) .type, st[r0 -- fs ', val]) ⊦ refs = [], junkref(str, r, st), is_typevalue(st[r0 -- _type]) ∧ is_reftype(st[r0 -- _type] .type)
[[CONCRETESIMPRULES : ([CSIMPELIM : refs ≠ [] ⊦ r = refs .first ∧ refs0 = refs .rest ↔ refs = r + refs0])], [EXTRATERMS : (refs, r, refs0)]]