Logic exception for arrays indexed by arrays (#5073)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 18 Sep 2020 15:07:12 +0000 (10:07 -0500)
committerGitHub <noreply@github.com>
Fri, 18 Sep 2020 15:07:12 +0000 (10:07 -0500)
commit5f714e763e57a8e7fc32c6bd0fbab279eac2f993
tree64f4a474a2c67d22406837b4a681b2cd717e3c1a
parentf12e2d5a3bd09a91f0d6cd093a62016e456dd4a7
Logic exception for arrays indexed by arrays (#5073)

This throws a logic exception when a term of array type whose index is also an array is registered to the theory of arrays.

It refactors the preRegisterTermInternal method of arrays so that all non-equality terms are added to the equality engine in the same block of code, which also checks for the type.

Fixes #4237.

FYI @barrettcw
src/theory/arrays/theory_arrays.cpp