[Arrays] Fix response for `store` chains (#8015)
authorAndres Noetzli <andres.noetzli@gmail.com>
Tue, 1 Feb 2022 17:26:16 +0000 (09:26 -0800)
committerGitHub <noreply@github.com>
Tue, 1 Feb 2022 17:26:16 +0000 (17:26 +0000)
commit7e23ff52320d1024307c32ecc2db849c7ce14f46
treeab634471235ec5c555dfc44d1c983033acfcadc1
parent2d64f408f416c601b3b545984ca1b6c31c151f16
[Arrays] Fix response for `store` chains (#8015)

When rewriting applying the rule store(store(a,i,v),i,w) ---> store(a,i,w), the arrays rewriter would return REWRITE_DONE. However,
this is incorrect if there are three or more nested stores of that kind
or the rewrite store(a,i,select(a,i)) ---> a applies to the result.
This commit fixes the response to always be REWRITE_AGAIN.
src/theory/arrays/theory_arrays_rewriter.cpp