| sks0 ≠ [], fits(r, sk0 ' + sks0, st), ∀ r, st, sk, val, str. fits(r, sks0, st) → r = jvmref ∨ (st[jvmref -- sk, val][r -- sks0]) = st[r -- sks0] ∨ junkref(str, r, st) ⊦ r = jvmref, (st[jvmref -- sk, val][(st[jvmref -- sk, val][r -- sk0]) .refval -- sks0]) = st[r -- (sk0 ' + sks0)], junkref(str, r, st) |
fits(r, sk0 ' + sks0, st), ∀ r, st, sk, val, str. fits(r, sks0, st) → r = jvmref ∨ (st[jvmref -- sk, val][r -- sks0]) = st[r -- sks0] ∨ junkref(str, r, st) ⊦ sks0 = [], r = jvmref, (st[jvmref -- sk, val][st[r -- sk0] .refval -- sks0]) = st[r -- (sk0 ' + sks0)], junkref(str, r, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ≠ r0 → (st[r0 -- sk0, val][r -- sk]) = st[r -- sk]])]]