| rk ∈ rkvs, ∀ val, st, rk, rkvs0. # rkvs0 < # rkvs → (rk ∈ rkvs0 → (st[rk, val][rkvs0]) = st[rkvs0]) ⊦ (st[rk, val][rkvs]) = st[rkvs] |
⊦ rkvs ≠ [] → st[rkvs] = (st[rkvs .butlast][rkvs .last .1, rkvs .last .2])
⊦ st[[]] = st
rkvs ≠ [], rk ∈ rkvs, ∀ val, st, rk, rkvs0. # rkvs0 < # rkvs → (rk ∈ rkvs0 → (st[rk, val][rkvs0]) = st[rkvs0]) ⊦ (st[rk, val][rkvs .butlast][rkvs .last .1, rkvs .last .2]) = st[rkvs]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ rk ∈ []])], [EXTRATERMS : (rkvs, st[rk, val])]]