| # sks = # refs0, validrefs(str, r ' + refs0, ty, st), fits(r, sks, st), refs0 ≠ [] → st[r -- sks] .refval = (r ' + refs0)[# refs0] ⊦ st[r -- sks] .refval = (r ' + refs0) .last |
refs0 ≠ [], # sks = # refs0, validrefs(str, r ' + refs0, ty, st), fits(r, sks, st), refs0 ≠ [] → st[r -- sks] .refval = (r ' + refs0)[# refs0] ⊦ st[r -- sks] .refval = (r ' + refs0) .last
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ # sks = 0 ↔ sks = []], [CSIMPSEQ : ⊦ refs + [] = refs], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ r ' .last = r], [CSIMPSEQ : ⊦ st[r -- []] = refval(r)], [CSIMPSEQ : ⊦ refval(r) .refval = r])], [EXTRAFMAS : (refs0 ≠ [])]]