| ¬ ( ¬ is_referencevalue(byteval(by)) ∧ validref(str, r, ty, putByteArray(bytes0, r0, i + 1, st)) ∧ okval(byteval(by), (putByteArray(bytes0, r0, i + 1, st)[r0 -- _type]) .type .type)), validref(str, r, ty, st), okbytearray(r0, st), ∀ str, r, ty, st, r0, i. validref(str, r, ty, st) ∧ okbytearray(r0, st) → r = r0 ∨ validref(str, r, ty, putByteArray(bytes0, r0, i, st)) ⊦ r = r0, validref(str, r, ty, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]) |
validref(str, r, ty, st), okbytearray(r0, st), ∀ str, r, ty, st, r0, i. validref(str, r, ty, st) ∧ okbytearray(r0, st) → r = r0 ∨ validref(str, r, ty, putByteArray(bytes0, r0, i, st)) ⊦ r = r0, validref(str, r, ty, putByteArray(bytes0, r0, i + 1, st)[r0 -- i ', byteval(by)]), validref(str, r, ty, putByteArray(bytes0, r0, i + 1, st)) ∧ okval(byteval(by), st[r0 -- _type] .type .type)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (putByteArray(bytes, r, i, st) [r0 -- _type ] ) = st[r0 -- _type]], [CSIMPSEQ : ⊦ ¬ is_referencevalue(byteval(by))])]]