| rk ∈ rkvs, ∀ val, st, rk, rkvs0. # rkvs0 < # rkvs → (rk ∈ rkvs0 → (st[rk, val][rkvs0]) = st[rkvs0]) ⊦ rkvs = [], (st[rk, val][rkvs .butlast][rkvs .last .1, rkvs .last .2]) = st[rkvs] |
rkvs .last = rk0 × val0, rk ∈ rkvs, ∀ val, st, rk, rkvs0. # rkvs0 < # rkvs → (rk ∈ rkvs0 → (st[rk, val][rkvs0]) = st[rkvs0]) ⊦ rkvs = [], (st[rk, val][rkvs .butlast][rk0, val0]) = st[rkvs]
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ rk = rkv .1 ∧ val = rkv .2 ↔ rkv = rk × val])], [EXTRATERMS : (rkvs .last, rk0, val0)]]