Always interleave theory combination with quantifiers (#4703)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 8 Jul 2020 11:48:40 +0000 (06:48 -0500)
committerGitHub <noreply@github.com>
Wed, 8 Jul 2020 11:48:40 +0000 (06:48 -0500)
commit767380812cff0b8299ddf0784c149c80d2e6ecbd
treeed88e013055628d4ed0ecfe2941fc8f5816d40c7
parentde1018fc9d12f722a5c88c0a862a7e94e3de37ac
Always interleave theory combination with quantifiers (#4703)

This removes an option setting that made quantifiers always run at full effort (before theory combination) when an undecidable theory was present. The intuition is that such theories may also be unfair wrt theory combination, so quantifiers might as well "join them" at full effort.

However, this option modification significantly hurts our performance in terms of timeouts on verification benchmarks from Facebook, where theory combination needs to run but quantifiers (alone) is preempting it from running. The correct solution is in fact to have other theories interleave with theory combination with the same policy as quantifiers (I've opened CVC4/cvc4-wishues#74).
src/smt/set_defaults.cpp