| path∃(`docs2store', r, r1, putByteArray(bytes1, r2, i + 1, st)[r2 -- i ', byteval(by)]), okbytearray(r2, st), ∀ st, i, r2, r1, r, bytes0. # bytes0 < # (by + bytes1) → (path∃(`docs2store', r, r1, putByteArray(bytes0, r2, i, st)) ∧ okbytearray(r2, st) → junkref(`docs2store', r, st) ∨ path∃(`docs2store', r, r1, st)) ⊦ junkref(`docs2store', r, st), path∃(`docs2store', r, r1, st), junkref(`docs2store', r, putByteArray(bytes1, r2, i + 1, st)), ¬ path∃(`docs2store', r, r1, putByteArray(bytes1, r2, i + 1, st)) ∧ okbytearray(r2, putByteArray(bytes1, r2, i + 1, st)) |
⊦ okbytearray(r, st) → okbytearray(r, putByteArray(bytes, r, i, st))
okbytearray(r2, st), path∃(`docs2store', r, r1, putByteArray(bytes1, r2, i + 1, st)[r2 -- i ', byteval(by)]), okbytearray(r2, st), ∀ st, i, r2, r1, r, bytes0. # bytes0 < # (by + bytes1) → (path∃(`docs2store', r, r1, putByteArray(bytes0, r2, i, st)) ∧ okbytearray(r2, st) → junkref(`docs2store', r, st) ∨ path∃(`docs2store', r, r1, st)) ⊦ junkref(`docs2store', r, st), path∃(`docs2store', r, r1, st), junkref(`docs2store', r, putByteArray(bytes1, r2, i + 1, st)), ¬ path∃(`docs2store', r, r1, putByteArray(bytes1, r2, i + 1, st)) ∧ true
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, i + 1, bytes1, r2)]]