| r0 ≠ rk .ref, # st .refs = # st0 .refs, r0 ∈ st0 .refs, r0 ∈ st .refs, r ∈ st0, rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk], ∀ rk. rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk], rk ∈ st -- r0, ∀ r, st0, st1. # st1 .refs < # st .refs → (# st1 .refs = # st0 .refs ∧ r ∈ st0 ∧ st1 ⊆ st0 → r ∈ st1) ⊦ r = r0, st0 = ∅, st = ∅, r ∈ st, rk ∈ st0 -- r0 ∧ st[rk] = (st0 -- r0)[rk] |
# st .refs = # st0 .refs, r0 ∈ st0 .refs, r0 ∈ st .refs, r ∈ st0, rk ∈ st -- r0, rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk], ∀ rk. rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk], ∀ r, st0, st1. # st1 .refs < # st .refs → (# st1 .refs = # st0 .refs ∧ r ∈ st0 ∧ st1 ⊆ st0 → r ∈ st1) ⊦ r = r0, st0 = ∅, st = ∅, r0 = rk .ref, r ∈ st, rk ∈ st0 -- r0 ∧ st[rk] = st0[rk]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ≠ rk .ref → (st -- r)[rk] = st[rk]])]]