| ∀ st. is_newref_list(newref_list(m, st), st), ∀ r. r ∈ newref_list(m, st[newref(st) -- 0 ', noval]) → r ≠ newref(st) ∧ r ≠ jvmref ∧ (∀ rk. rk ∈ st → rk .ref ≠ r) ⊦ is_newref_list(newref_list(m, st[newref(st) -- 0 ', noval]), st), dups(newref_list(m, st[newref(st) -- 0 ', noval])) |
⊦ is_newref_list(refs, st) ↔ ¬ dups(refs) ∧ (∀ r. r ∈ refs → newref(r, st))
∀ st. is_newref_list(newref_list(m, st), st), ∀ r. r ∈ newref_list(m, st[newref(st) -- 0 ', noval]) → r ≠ newref(st) ∧ r ≠ jvmref ∧ (∀ rk. rk ∈ st → rk .ref ≠ r) ⊦ ¬ dups(newref_list(m, st[newref(st) -- 0 ', noval])) ∧ (∀ r. r ∈ newref_list(m, st[newref(st) -- 0 ', noval]) → newref(r, st)), dups(newref_list(m, st[newref(st) -- 0 ', noval]))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, newref_list(m, st[newref(st) -- 0 ', noval]))]]