| st[r -- sks] = refval(r0), st1[r -- sks0] = refval(r0), st ⊆ st1, fits(r, sks0, st1), fits(r, sks, st1), r -- sks ∈ st ⊦ sks = [], r0 = jvmref, sks0 = [], sks0 = sks, refval(r0) = st[r -- sks0], junkref(str, r, st) |
⊦ st ⊆ st0 ∧ r -- sks ∈ st ∧ sks ≠ [] → st0[r -- sks] = st[r -- sks]
¬ (st ⊆ st1 ∧ r -- sks0 ∈ st ∧ sks0 ≠ []), st[r -- sks] = refval(r0), st1[r -- sks0] = refval(r0), st ⊆ st1, fits(r, sks0, st1), fits(r, sks, st1), r -- sks ∈ st ⊦ sks = [], r0 = jvmref, sks0 = [], sks0 = sks, refval(r0) = st[r -- sks0], junkref(str, r, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, st1, r, sks0)]]