| ⊦ sk = _type, path∃(str, r, r0, st), junkref(str, r, st), unchanged(str, r, st, st[r0 -- sk, val]) |
⊦ unchanged(str, r, st, st0) ↔ (∀ r0. (path∃(str, r, r0, st) ↔ path∃(str, r, r0, st0)) ∧ (path∃(str, r, r0, st) → unchangedNorec(r0, st, st0)))
⊦ sk = _type, path∃(str, r, r0, st), junkref(str, r, st), ∀ r1. (path∃(str, r, r1, st) ↔ path∃(str, r, r1, st[r0 -- sk, val])) ∧ (path∃(str, r, r1, st) → unchangedNorec(r1, st, st[r0 -- sk, val]))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r0 -- sk, val], st, r, str)]]