| ∀ r, st. r ∈ newref_list(m, st) → newref(r, st) ⊦ r ∈ newref_list(m +1, st) → newref(r, st) |
⊦ newref_list(n + 1, st) = newref(st) + newref_list(n, st[newref(st) -- 0 ', noval])
⊦ newref(r, st) ↔ r ≠ jvmref ∧ (∀ rk. rk ∈ st → rk .ref ≠ r)
⊦ newref(newref(st), st)
r ∈ newref_list(m, st[newref(st) -- 0 ', noval]), ∀ r0, st0. r0 ∈ newref_list(m, st0) → r0 ≠ jvmref ∧ (∀ rk. rk ∈ st0 → rk .ref ≠ r0) ⊦ r = newref(st), newref(r, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ r ∈ r0 ' ↔ r = r0], [CSIMPSEQ : ⊦ r ∈ refs + refs0 ↔ ¬ ¬ (r ∈ refs ∨ r ∈ refs0)], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ r + refs = r ' + refs], [CSIMPSEQ : ⊦ m +1 = m + 1])]]