| path∃(str, r, r0, update(r0, (sk × val) ' + fis, st)), ∀ str0, r1, r2, st0. path∃(str0, r1, r2, update(r2, fis, st0)) → junkref(str0, r1, st0) ∨ path∃(str0, r1, r2, st0) ⊦ _type = sk, _type ∈ fis, junkref(str, r, st), path∃(str, r, r0, st), dups(fis .keys), sk ∈ fis .keys |
⊦ update(r, (sk × val) ' + fis, st) = (update(r, fis, st)[r -- sk, val])
path∃(str, r, r0, update(r0, fis, st)[r0 -- sk, val]), ∀ str0, r1, r2, st0. path∃(str0, r1, r2, update(r2, fis, st0)) → junkref(str0, r1, st0) ∨ path∃(str0, r1, r2, st0) ⊦ _type = sk, _type ∈ fis, junkref(str, r, st), path∃(str, r, r0, st), dups(fis .keys), sk ∈ fis .keys
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, fis, val, sk, r0)]]