| fits(r, sk ' + sks0, st), ∀ str, r, st. sks0 ≠ [] ∧ ¬ junkref(str, r, st) ∧ fits(r, sks0, st) → r -- sks0 ∈ st ⊦ junkref(str, r, st), r -- (sk ' + sks0) ∈ st |
⊦ sks ≠ [] → (r -- (sk ' + sks) ∈ st ↔ r -- sk ∈ st ∧ st[r -- sk] .refval -- sks ∈ st)
¬ sks0 ≠ [], fits(r, sk ' + sks0, st), ∀ str, r, st. sks0 ≠ [] ∧ ¬ junkref(str, r, st) ∧ fits(r, sks0, st) → r -- sks0 ∈ st ⊦ junkref(str, r, st), r -- (sk ' + sks0) ∈ st
sks0 ≠ [], fits(r, sk ' + sks0, st), ∀ str, r, st. sks0 ≠ [] ∧ ¬ junkref(str, r, st) ∧ fits(r, sks0, st) → r -- sks0 ∈ st ⊦ junkref(str, r, st), r -- sk ∈ st ∧ st[r -- sk] .refval -- sks0 ∈ st
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, sks0, sk, r)]]