| st ⊆ st1, ∃ sks1, sks2. fits(r, sks1, st1) ∧ fits(r, sks2, st1) ∧ sks1 ≠ sks2 ∧ sks1 ≠ [] ∧ sks2 ≠ [] ∧ st1[r -- sks1] .refval ≠ jvmref ∧ st1[r -- sks1] = st1[r -- sks2] ⊦ junkref(str, r, st), ∃ sks1, sks2. fits(r, sks1, st) ∧ fits(r, sks2, st) ∧ sks1 ≠ sks2 ∧ sks1 ≠ [] ∧ sks2 ≠ [] ∧ st[r -- sks1] .refval ≠ jvmref ∧ st[r -- sks1] = st[r -- sks2] |
st1[r -- sks0] = st1[r -- sks], st ⊆ st1, fits(r, sks0, st1), fits(r, sks, st1) ⊦ st1[r -- sks] .refval = jvmref, sks = [], sks0 = [], sks0 = sks, junkref(str, r, st), ∃ sks1, sks2. fits(r, sks1, st) ∧ fits(r, sks2, st) ∧ sks1 ≠ sks2 ∧ sks1 ≠ [] ∧ sks2 ≠ [] ∧ st[r -- sks1] .refval ≠ jvmref ∧ st[r -- sks1] = st[r -- sks2]
[[CONCRETESIMPRULES : ()]]