| r ∈ st0, r -- sk ∈ st0, st1 -- (r -- sk) ⊆ st0 -- (r -- sk), # st0 .refs < # st1 .refs, r ∈ st1 .refs, # st1 .refs ≤ # st0[r -- sk, st1[r -- sk]] .refs ∨ ¬ st1 ⊆ st0[r -- sk, st1[r -- sk]], ∀ st. # st1 .refs ≤ # st .refs ∨ ¬ st1 ⊆ st ⊦ st1 = ∅ |
⊦ st[rk, val] .refs = st .refs ++ rk .ref
r ∈ st0, r -- sk ∈ st0, st1 -- (r -- sk) ⊆ st0 -- (r -- sk), # st0 .refs < # st1 .refs, r ∈ st1 .refs, ∀ st. # st1 .refs ≤ # st .refs ∨ ¬ st1 ⊆ st, # st1 .refs ≤ # (st0 .refs ++ r) ∨ ¬ st1 ⊆ st0[r -- sk, st1[r -- sk]] ⊦ st1 = ∅
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (r -- sk) .ref = r])]]