| fv = sk × val, path∃(str, r, r0, update(r0, fv ' + fis, st)), ∀ str0, r1, r2, st0. path∃(str0, r1, r2, update(r2, fis, st0)) → junkref(str0, r1, st0) ∨ path∃(str0, r1, r2, st0) ⊦ _type ∈ fv ', _type ∈ fis, junkref(str, r, st), path∃(str, r, r0, st), dups(fis .keys), sk ∈ fis .keys |
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
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ∈ (sk0 × val) ' ↔ sk = sk0])]]