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