| fits(r, sks, st) ⊦ junkref(str, r, st), ∃ refs. validrefs(str, r ' + refs, st[r -- _type] .type, st) ∧ st[r -- sks] .refval = (r ' + refs) .last |
¬ junkref(str, r, st), fits(r, sks, st) ⊦ ∃ refs. validrefs(str, r ' + refs, st[r -- _type] .type, st) ∧ # refs = # sks ∧ (∀ sks0. sks0 ⊑ sks ∧ sks0 ≠ [] → st[r -- sks0] .refval = (r ' + refs)[# sks0])
∃ refs. validrefs(str, r ' + refs, st[r -- _type] .type, st) ∧ # refs = # sks ∧ (∀ sks0. sks0 ⊑ sks ∧ sks0 ≠ [] → st[r -- sks0] .refval = (r ' + refs)[# sks0]), fits(r, sks, st) ⊦ junkref(str, r, st), ∃ refs. validrefs(str, r ' + refs, st[r -- _type] .type, st) ∧ st[r -- sks] .refval = (r ' + refs) .last
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (str, r, st, sks)]]