| (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks]) = refval(r1) ∧ is_referencevalue(st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks]), (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks0]) = (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks]), fits(r0, sks0, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]), fits(r0, sks, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]), is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']), ∀ sks, sks0. ¬ fits(r0, sks, st) ∨ ¬ fits(r0, sks0, st) ∨ sks = sks0 ∨ sks = [] ∨ sks0 = [] ∨ st[r0 -- sks] .refval = jvmref ∨ st[r0 -- sks] ≠ st[r0 -- sks0] ⊦ sks0 = sks, sks0 = [], sks = [], r1 = jvmref, r = jvmref, junkref(str, r0, st) |
(st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks0]) = refval(r1), (st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)][r0 -- sks]) = refval(r1), is_shortvalue(st[r -- mkfs(class, short_type, fieldvar) ']), fits(r0, sks, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]), fits(r0, sks0, st[r -- mkfs(class, short_type, fieldvar) ', shortval(sho)]), ∀ sks, sks0. ¬ fits(r0, sks, st) ∨ ¬ fits(r0, sks0, st) ∨ sks = sks0 ∨ sks = [] ∨ sks0 = [] ∨ st[r0 -- sks] .refval = jvmref ∨ st[r0 -- sks] ≠ st[r0 -- sks0] ⊦ r = jvmref, r1 = jvmref, sks = [], sks0 = [], sks0 = sks, junkref(str, r0, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_referencevalue(refval(r))])]]