| ∀ val, rk, st, rkvs0. # rkvs0 < # (rkvs1 + (rk0 × val0) ') → (true → (st[rk, val][rkvs0]) = (st[rkvs0][rk, val]) ∨ rk ∈ rkvs0) ⊦ (st[rk, val][rkvs1][rk0, val0]) = (st[rkvs1][rk0, val0][rk, val]), rk = rk0, rk ∈ rkvs1 |
⊦ rk ≠ rk0 → (st[rk0, val][rk, val0]) = (st[rk, val0][rk0, val])
rk ≠ rk0, ∀ val, rk, st, rkvs0. # rkvs0 < # (rkvs1 + (rk0 × val0) ') → (true → (st[rk, val][rkvs0]) = (st[rkvs0][rk, val]) ∨ rk ∈ rkvs0) ⊦ (st[rk, val][rkvs1][rk0, val0]) = (st[rkvs1][rk, val][rk0, val0]), rk = rk0, rk ∈ rkvs1
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, rk, val0, rk0, st[rkvs1])]]