From 60173f62a82b4d71f2fbac51880d44d883ae5109 Mon Sep 17 00:00:00 2001 From: Andres Noetzli Date: Mon, 27 May 2019 16:36:17 -0700 Subject: [PATCH] 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) -- 2.30.2