| # sks = # refs0, validrefs(str, r ' + refs0, ty, st), fits(r, sks, st), # refs0 ≠ 0 ∧ ¬ # refs0 < # refs0 → st[r -- firstn(# refs0, sks)] .refval = (r ' + refs0)[# refs0] ⊦ st[r -- sks] .refval = (r ' + refs0) .last |
# 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 : ⊦ # sks = n → firstn(n, sks) = sks], [CSIMPSEQ : ⊦ ¬ n < n], [CSIMPSEQ : ⊦ # refs = 0 ↔ refs = []])]]