| okval(st[r1 -- mkfs(class, ty, fieldvar) '], ty), r1 -- mkfs(class, ty, fieldvar) ' ∈ st, okval(val, ty), r1 ∈ st, junkrefs(str, refs, st[refs .first -- _type] .type, st) ⊦ mkfs(class, ty, fieldvar) ' = _length, ty = void_type, refs = [], is_referencevalue(val), junkref(str, refs .first, st[r1 -- mkfs(class, ty, fieldvar) ', val]) |
refs = r + refs0, okval(st[r1 -- mkfs(class, ty, fieldvar) '], ty), r1 -- mkfs(class, ty, fieldvar) ' ∈ st, okval(val, ty), r1 ∈ st, junkrefs(str, refs, st[r -- _type] .type, st) ⊦ mkfs(class, ty, fieldvar) ' = _length, ty = void_type, refs = [], is_referencevalue(val), junkref(str, r, st[r1 -- mkfs(class, ty, fieldvar) ', val])
[[CONCRETESIMPRULES : ([CSIMPELIM : refs ≠ [] ⊦ r = refs .first ∧ refs0 = refs .rest ↔ refs = r + refs0])], [EXTRATERMS : (refs, r, refs0)]]