| # 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, # st0 .refs - 1 = # (st0 .refs -- r0) ∧ r ∈ st0 -- r0 ∧ st -- r0 ⊆ st0 -- r0 |
⊦ r ∈ rset → # (rset -- r) = # rset - 1
¬ r0 ∈ st0 .refs, # 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, # st0 .refs - 1 = # (st0 .refs -- r0) ∧ r ∈ st0 -- r0 ∧ st -- r0 ⊆ st0 -- r0
r0 ∈ st0 .refs, # 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, # st0 .refs - 1 = # st0 .refs - 1 ∧ r ∈ st0 -- r0 ∧ st -- r0 ⊆ st0 -- r0
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (r0, st0 .refs)]]