| is_referencevalue(st[rk]), validrefnotnull(str, st[rk] .refval, ty, st), rk ∈ st, is_bytevalue(st[r -- mkfs(class, byte_type, fieldvar) ']) ⊦ r = jvmref, mkfs(class, byte_type, fieldvar) ' = _length, st[rk] .refval = jvmref, is_referencevalue(st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][rk]) ∧ validrefnotnull (str, (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][rk]) .refval, ty, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)]) |
st[rk] = refval(r0), is_referencevalue(st[rk]), validrefnotnull(str, r0, ty, st), rk ∈ st, is_bytevalue(st[r -- mkfs(class, byte_type, fieldvar) ']) ⊦ r = jvmref, mkfs(class, byte_type, fieldvar) ' = _length, r0 = jvmref, is_referencevalue(st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][rk]) ∧ validrefnotnull (str, (st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)][rk]) .refval, ty, st[r -- mkfs(class, byte_type, fieldvar) ', byteval(by)])
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_referencevalue(val) → ( r = val .refval ↔ val = refval(r))])], [EXTRATERMS : (st[rk], r0)]]