stevia
stevia copied to clipboard
Implement Array-{Read-Write}-Elimination simplifications
Stevia should handle complex array expressions and thus be able to word-level simplify those together with array abstraction refinement.
To be implemented are:
- Array-Read-Elimination: Eliminates
ArrayReadexpressions by replacing them with appropriate equi-satisfiable local- and root expressions. - Array-Write-Elimination: Eliminates
ArrayWriteexpressions by replacing them with appropriate equisatisfiable local- and root expressions.
Both simplifications require refinement expressions on the root scope of the input expression which can be refined by lazy insertion similar to how STP handles them via its array abstraction refinement.