| is_shortvalue(st[r1 -- fs ']), fits(r1, fs ' ' + sks0, st), ∀ st, r1, fs, r, val, str. is_shortvalue(st[r1 -- fs ']) ∧ fits(r, sks0, st) → (st[r1 -- fs ', val][r -- sks0]) = st[r -- sks0] ∨ junkref(str, r, st) ⊦ sks0 = [], (st[r1 -- fs ', val][val .refval -- sks0]) = st[r1 -- (fs ' ' + sks0)], junkref(str, r1, st) |
⊦ sks ≠ [] → st[r -- (sk ' + sks)] = st[st[r -- sk] .refval -- sks]
sks0 ≠ [], is_shortvalue(st[r1 -- fs ']), fits(r1, fs ' ' + sks0, st), ∀ st, r1, fs, r, val, str. is_shortvalue(st[r1 -- fs ']) ∧ fits(r, sks0, st) → (st[r1 -- fs ', val][r -- sks0]) = st[r -- sks0] ∨ junkref(str, r, st) ⊦ sks0 = [], (st[r1 -- fs ', val][val .refval -- sks0]) = st[st[r1 -- fs '] .refval -- sks0], junkref(str, r1, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sks0, fs ', r1, st)]]