| ⊦ ¬ dups(r ' + refs) ∧ (∀ r0. r0 ∈ r ' + refs → newref(r0, st)) ↔ ¬ r ∈ refs ∧ newref(r, st) ∧ is_newref_list(refs, st) |
⊦ newref(r, st) ↔ r ≠ jvmref ∧ (∀ rk. rk ∈ st → rk .ref ≠ r)
⊦ ¬ dups(refs) ∧ ¬ r ∈ refs ∧ (∀ r0. r0 ∈ refs ∨ r0 = r → r0 ≠ jvmref ∧ (∀ rk. rk ∈ st → rk .ref ≠ r0)) ↔ ¬ r ∈ refs ∧ newref(r, st) ∧ is_newref_list(refs, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ dups(r ' + refs) ↔ dups(refs) ∨ r ∈ refs], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ r ∈ refs + refs0 ↔ ¬ ¬ (r ∈ refs ∨ r ∈ refs0)], [CSIMPSEQ : ⊦ r ∈ r0 ' ↔ r = r0])]]