Minor improvements and changes to defaults for cbqi bv (#1406)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 30 Nov 2017 00:17:16 +0000 (18:17 -0600)
committerAina Niemetz <aina.niemetz@gmail.com>
Thu, 30 Nov 2017 00:17:16 +0000 (16:17 -0800)
commit0524281144b562fea63adf10bc3f5d6f75883296
treefb812221b635a2e5f9ffef6b586008ad53cfa251
parentdd31916953ecc29514499e5c1cb96e3ae33ff3b8
Minor improvements and changes to defaults for cbqi bv (#1406)

This

makes it so that --cbqi-bv tries at most 2 instantiations per quantified formula (one based on inversions when applicable, one based on model values). This makes it so that we do not have exponential run time in the worst case. This helps significantly for psyco benchmarks which have many quantified variables.

Enables --cbqi-bv by default and changes the default inequality mode to eq-boundary (which is the best performer overall), also enables extract removal by default

Allows cbqiNestedQE to be used in the BV logic.

Adds an option --cbqi-full which indicates whether we should try model value instantiations for bit-vectors (by default, this is done only for the pure BV logic).
src/options/quantifiers_options
src/smt/smt_engine.cpp
src/theory/quantifiers/ceg_instantiator.cpp
src/theory/quantifiers/ceg_instantiator.h
src/theory/quantifiers/ceg_t_instantiator.cpp
src/theory/quantifiers/ceg_t_instantiator.h