| fits(r, sk0 ' + sks0, st), fits(st[r -- sk0] .refval, sks0, st) → st[r -- sk0] .refval = jvmref ∨ (st[jvmref -- sk, val][st[r -- sk0] .refval -- sks0]) = st[st[r -- sk0] .refval -- sks0] ∨ junkref(str, st[r -- sk0] .refval, 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 = [], (st[jvmref -- sk, val][st[r -- sk0] .refval -- sks0]) = st[st[r -- sk0] .refval -- sks0], r = jvmref, 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), fits(st[r -- sk0] .refval, sks0, st) → st[r -- sk0] .refval = jvmref ∨ junkref(str, st[r -- sk0] .refval, st) ⊦ sks0 = [], (st[jvmref -- sk, val][st[r -- sk0] .refval -- sks0]) = st[st[r -- sk0] .refval -- sks0], r = jvmref, junkref(str, r, st)
[[CONCRETESIMPRULES : ()]]