| ⊦ (∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0)) ∧ (∀ r. ¬ r ∈ st ∧ (r = jvmref ∨ r ∈ st0) → ¬ junkref(str, r, st0[jvmref -- sk, val])) ↔ valid⊆(str, st, st0) |
⊦ valid⊆(str, st, st0) ↔ (∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0)) ∧ (∀ r. ¬ r ∈ st ∧ r ∈ st0 → ¬ junkref(str, r, st0))
⊦ (∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0)) ∧ (∀ r. ¬ r ∈ st ∧ (r = jvmref ∨ r ∈ st0) → ¬ junkref(str, r, st0[jvmref -- sk, val])) ↔ (∀ r, ty. validref(str, r, ty, st) → validref(str, r, ty, st0)) ∧ (∀ r. ¬ r ∈ st ∧ r ∈ st0 → ¬ junkref(str, r, st0))
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st0, st, str)]]