| # st .refs = # st0 .refs, r0 ∈ st .refs, r ∈ st0, st ⊆ st0, ∀ r, st0, st1. # st1 .refs < # st .refs → (# st1 .refs = # st0 .refs ∧ r ∈ st0 ∧ st1 ⊆ st0 → r ∈ st1) ⊦ st = ∅, r ∈ st |
⊦ (st -- r) .refs = st .refs -- r
⊦ st .refs = ∅ ↔ st = ∅
# st .refs = # st0 .refs, r0 ∈ st .refs, r ∈ st0, st ⊆ st0, ∀ r, st0, st1. # st1 .refs < # st .refs → (# st1 .refs = # st0 .refs ∧ r ∈ st0 ∧ st1 ⊆ st0 → r ∈ st1) ⊦ # (st -- r0) .refs = # (st0 -- r0) .refs ∧ r ∈ st0 -- r0 ∧ st -- r0 ⊆ st0 -- r0, st = ∅, r ∈ st
r ∈ st -- r0, # st .refs = # st0 .refs, r0 ∈ st .refs, r ∈ st0, st ⊆ st0, ∀ r, st0, st1. # st1 .refs < # st .refs → (# st1 .refs = # st0 .refs ∧ r ∈ st0 ∧ st1 ⊆ st0 → r ∈ st1) ⊦ st = ∅, r ∈ st
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ∈ rset → # (rset -- r) = # rset - 1], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPFORWARD : ⊦ m ≤ m - 1 → m = 0], [CSIMPFORWARD : ⊦ # rset = 0 → rset = ∅])], [EXTRATERMS : (r, st0 -- r0, st -- r0)]]