| junkref(str, r, update(r0, fis0, st)[r0 -- fv .1, fv .2]), ∀ str0, r1, r2, st0. junkref(str0, r1, update(r2, fis0, st0)) → path∃(str0, r1, r2, st0) ∨ junkref(str0, r1, st0) ⊦ junkref(str, r, st), path∃(str, r, r0, st), _type ∈ fv ', _type ∈ fis0 |
fv = sk × val, junkref(str, r, update(r0, fis0, st)[r0 -- sk, val]), ∀ str0, r1, r2, st0. junkref(str0, r1, update(r2, fis0, st0)) → path∃(str0, r1, r2, st0) ∨ junkref(str0, r1, st0) ⊦ junkref(str, r, st), path∃(str, r, r0, st), _type ∈ fv ', _type ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk, val)]]