From: Andres Noetzli Date: Mon, 27 May 2019 23:36:17 +0000 (-0700) Subject: Avoid substituting Boolean term variables (#3022) X-Git-Tag: cvc5-1.0.0~4137 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=60173f62a82b4d71f2fbac51880d44d883ae5109;p=cvc5.git Avoid substituting Boolean term variables (#3022) Fixes #3020. Boolean terms that appear in other terms, e.g. a Boolean array index, are replaced by `BOOLEAN_TERM_VARIABLE`s to make sure that they are handled properly in theory combination. When doing this replacement, an equality of the form `(= b1 b2)) +(assert (not (and b2 b3))) +(assert (=> b3 b1)) +(assert (= b4 (select B b2))) +(assert (xor b4 b2)) +(check-sat)