| ∀ st, r, sk, val. (st[r -- sk, val][jvmref -- sks0]) = st[jvmref -- sks0] ∨ sk ∈ sks0 ⊦ sks0 = [], sk = sk0, (st[r -- sk, val][st[jvmref -- sk0] .refval -- sks0]) = st[st[jvmref -- sk0] .refval -- sks0], sk ∈ sks0 |
⊦ ¬ sk ∈ sks ∧ sks ≠ [] → (st[r -- sk, val][r0 -- sks]) = st[r0 -- sks]
⊦ ¬ sk ∈ sks ∧ sks ≠ [] → (st[r -- sk, val][r0 -- sks]) = st[r0 -- sks]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_referencevalue(val) → val .refval = jvmref], [CSIMPELIM : is_referencevalue(val) ⊦ r = val .refval ↔ val = refval(r)])], [EXTRATERMS : (st[jvmref -- sk0], r0)]]