| rk ∈ st ∧ st ⊆ st1, st[rk] = refval(r), rk ∈ st, st ⊆ st1, rk ∈ st1, st[r -- _type] .type ≤ ty ⊦ r = jvmref, junkref(str, r, st), is_referencevalue(st[rk]) ∧ st[rk] .refval ≠ jvmref ∧ st1[st[rk] .refval -- _type] .type ≤ ty ∧ ¬ junkref(str, st[rk] .refval, st1) |
⊦ rk ∈ st ∧ st ⊆ st1 → st1[rk] = st[rk]
⊦ ¬ r -- _type ∈ st → (junkref(str, r, st) ↔ r ≠ jvmref)
st[rk] .refval -- _type ∈ st ∧ st ⊆ st1, rk ∈ st ∧ st ⊆ st1, st[rk] = refval(r), rk ∈ st, st ⊆ st1, rk ∈ st1, st[r -- _type] .type ≤ ty ⊦ r = jvmref, junkref(str, r, st), is_referencevalue(st[rk]) ∧ st[rk] .refval ≠ jvmref ∧ st[st[rk] .refval -- _type] .type ≤ ty ∧ ¬ junkref(str, st[rk] .refval, st1)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ refval(r) .refval = r], [CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]], [CSIMPSEQ : ⊦ ∅[rk] = noval])], [EXTRATERMS : (st[rk] .refval -- _type, st, st1)]]