| fits(r, sks, st[r1 -- fs ', byteval(by)]), is_bytevalue(st[r1 -- fs ']), is_referencevalue(st[r -- sks]) ⊦ junkref(str, r, st), fits(r, sks, st) |
⊦ fits(r, [], st)
∀ r, st, r1, fs, by, str. fits(r, sks0, st[r1 -- fs ', byteval(by)]) ∧ is_bytevalue(st[r1 -- fs ']) ∧ is_referencevalue(st[r -- sks0]) → junkref(str, r, st) ∨ fits(r, sks0, st), fits(r, sk + sks0, st[r1 -- fs ', byteval(by)]), is_bytevalue(st[r1 -- fs ']), is_referencevalue(st[r -- (sk + sks0)]) ⊦ junkref(str, r, st), fits(r, sk + sks0, st)
[[CONCRETESIMPRULES : ([CSIMPGEN : storekeys generated by [], +;], [CSIMPSEQ : ⊦ st[r -- []] = refval(r)], [CSIMPSEQ : ⊦ is_referencevalue(refval(r))])]]