| 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)]) |
⊦ ¬ is_referencevalue(val) ∧ validref(str, r, ty, st) ∧ okval(val, st[r1 -- _type] .type .type) → validref(str, r, ty, st[r1 -- i ', val])
¬ ( ¬ 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)])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (byteval(by), i, r0, putByteArray(bytes0, r0, i + 1, st), ty, r, str)]]