| r0 ∈ st0, r0 ∈ st1, junkref(str, r0, st1), ∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0), ∀ r. ¬ r ∈ st0 ∧ r ∈ st1 → ¬ junkref(str, r, st1), ∀ r, ty. validref(str, r, ty, st0) → validref(str, r, ty, st1) ⊦ r0 ∈ st, junkref(str, r0, st0) |
r0 ∈ st0, r0 ∈ st1, junkref(str, r0, st1), ∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0), ∀ r. ¬ r ∈ st0 ∧ r ∈ st1 → ¬ junkref(str, r, st1), validref(str, r0, st0[r0 -- _type] .type, st0) → validref(str, r0, st0[r0 -- _type] .type, st1) ⊦ r0 ∈ st, junkref(str, r0, st0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (r0, st0[r0 -- _type] .type)]]