| (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks0]) = (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks]), is_bytevalue(st[r -- mkfs(class, byte_type, fieldvar) ']), fits(r0, sks0, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)]), fits(r0, sks, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)]) ⊦ r = jvmref, mkfs(class, byte_type, fieldvar) ' = _length, (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks]) .refval = jvmref, sks = [], sks0 = [], sks0 = sks, junkref(str, r0, st), ∃ sks1, sks2. fits(r0, sks1, st) ∧ fits(r0, sks2, st) ∧ sks1 ≠ sks2 ∧ sks1 ≠ [] ∧ sks2 ≠ [] ∧ st[r0 -- sks1] .refval ≠ jvmref ∧ st[r0 -- sks1] = st[r0 -- sks2] |
(st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks]) = refval(r1) ∧ is_referencevalue(st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks]), (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks0]) = (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][r0 -- sks]), is_bytevalue(st[r -- mkfs(class, byte_type, fieldvar) ']), fits(r0, sks0, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)]), fits(r0, sks, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)]) ⊦ r = jvmref, mkfs(class, byte_type, fieldvar) ' = _length, r1 = jvmref, sks = [], sks0 = [], sks0 = sks, junkref(str, r0, st), ∃ sks1, sks2. fits(r0, sks1, st) ∧ fits(r0, sks2, st) ∧ sks1 ≠ sks2 ∧ sks1 ≠ [] ∧ sks2 ≠ [] ∧ st[r0 -- sks1] .refval ≠ jvmref ∧ st[r0 -- sks1] = st[r0 -- sks2]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_referencevalue(val) → val .refval = jvmref], [CSIMPELIM : is_referencevalue(val) ⊦ r = val .refval ↔ val = refval(r)])], [EXTRATERMS : (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)] [r0 -- sks ], r1)]]