| path∃(str, r, r1, st), disjoint(str, r ' + r0 ', st) ⊦ r = r0, r1 = jvmref, sk = _type, junkref(str, r0, st), unchanged(str, r0, st, st[r1 -- sk, val]) |
⊦ ¬ path∃(str, r, r0, st) ∧ ¬ junkref(str, r, st) ∧ sk ≠ _type → unchanged(str, r, st, st[r0 -- sk, val])
¬ (¬ path∃(str, r0, r1, st) ∧ ¬ junkref(str, r0, st) ∧ sk ≠ _type), path∃(str, r, r1, st), disjoint(str, r ' + r0 ', st) ⊦ r = r0, r1 = jvmref, sk = _type, junkref(str, r0, st), unchanged(str, r0, st, st[r1 -- sk, val])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, sk, r1, st, r0, str)]]