| ∀ st. newref_list(m + 1, st) .butlast = newref_list(m, st) ⊦ (newref(st) ' + newref_list(1 + m, st[newref(st) -- 0 ', noval])) .butlast = newref(st) ' + newref_list(m, st[newref(st) -- 0 ', noval]) |
⊦ refs ≠ [] → (r ' + refs) .butlast = r ' + refs .butlast
¬ newref_list(1 + m, st[newref(st) -- 0 ', noval]) ≠ [], ∀ st. newref_list(m + 1, st) .butlast = newref_list(m, st) ⊦ (newref(st) ' + newref_list(1 + m, st[newref(st) -- 0 ', noval])) .butlast = newref(st) ' + newref_list(m, st[newref(st) -- 0 ', noval])
newref_list(1 + m, st[newref(st) -- 0 ', noval]) ≠ [], ∀ st. newref_list(m + 1, st) .butlast = newref_list(m, st) ⊦ newref(st) ' + newref_list(1 + m, st[newref(st) -- 0 ', noval]) .butlast = newref(st) ' + newref_list(m, st[newref(st) -- 0 ', noval])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (newref_list(1 + m, st[newref(st) -- 0 ', noval]), newref(st))]]