| ∀ st0. ¬ (newref(st0) ' + newref_list(m, st0[newref(st0) -- 0 ', noval])) .last ∈ newref_list(m, st0) ⊦ newref_list(m, st[newref(st) -- 0 ', noval][newref(st[newref(st) -- 0 ', noval]) -- 0 ', noval]) = [], ¬ (newref(st[newref(st) -- 0 ', noval]) ' + newref_list(m, st[newref(st) -- 0 ', noval][newref(st[newref(st) -- 0 ', noval]) -- 0 ', noval])) .last ∈ newref_list(m, st[newref(st) -- 0 ', noval]) ∧ (newref(st[newref(st) -- 0 ', noval]) ' + newref_list(m, st[newref(st) -- 0 ', noval][newref(st[newref(st) -- 0 ', noval]) -- 0 ', noval])) .last ≠ newref(st) |
⊦ newref_list(n, st) = [] ↔ n = 0
∀ st0. ¬ (newref(st0) ' + newref_list(m, st0[newref(st0) -- 0 ', noval])) .last ∈ newref_list(m, st0) ⊦ m = 0, ¬ (newref(st[newref(st) -- 0 ', noval]) ' + newref_list(m, st[newref(st) -- 0 ', noval][newref(st[newref(st) -- 0 ', noval]) -- 0 ', noval])) .last ∈ newref_list(m, st[newref(st) -- 0 ', noval]) ∧ (newref(st[newref(st) -- 0 ', noval]) ' + newref_list(m, st[newref(st) -- 0 ', noval][newref(st[newref(st) -- 0 ', noval]) -- 0 ', noval])) .last ≠ newref(st)
[[CONCRETESIMPRULES : ()]]