| path∃(str, r, r0, update(r0, fis, st[r0 -- sk, val])), path∃(str, r, r0, update(r0, fis, st[r0 -- sk, val])) → junkref(str, r, st[r0 -- sk, val]) ∨ path∃(str, r, r0, st[r0 -- sk, val]) ⊦ _type = sk, sk ∈ fis, sk ∈ fis .keys, dups(fis .keys), path∃(str, r, r0, st), junkref(str, r, st), _type ∈ fis |
⊦ ¬ path∃(str, r, r0, st) ∧ ¬ junkref(str, r, st) ∧ sk ≠ _type → ¬ path∃(str, r, r0, st[r0 -- sk, val])
path∃(str, r, r0, update(r0, fis, st[r0 -- sk, val])), junkref(str, r, st[r0 -- sk, val]) ⊦ _type = sk, sk ∈ fis, sk ∈ fis .keys, dups(fis .keys), path∃(str, r, r0, st), junkref(str, r, st), _type ∈ fis
[[CONCRETESIMPRULES : ()]]