Model no longer adds subterms of quantifiers to equality engine, this fixed bug 492...
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 4 Feb 2013 06:08:32 +0000 (00:08 -0600)
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>
Mon, 4 Feb 2013 06:08:32 +0000 (00:08 -0600)
commite54c0f73712b25f1d6d49a3817c923eea077da81
tree0987d0f893d94a42c25c5668fa80af1fe8387e96
parent72cae59d28aa43b734148090feb3b8cf4ecd2074
Model no longer adds subterms of quantifiers to equality engine, this fixed bug 492 and resolves previous issue for bug 486.\n Multiple improvements for E-matching: do not choose multi-triggers if single triggers exist, only create multi-triggers that contain all variables, consider multiple terms per equivalence class but only add one instantiation per round per (trigger,term) pair.\nImprovements for strong solver: make use of sort inference information when choosing splits, check for cliques eagerly when disequalities are asserted.
21 files changed:
src/smt/smt_engine.cpp
src/theory/model.cpp
src/theory/quantifiers/inst_match_generator.cpp
src/theory/quantifiers/inst_match_generator.h
src/theory/quantifiers/inst_strategy_e_matching.cpp
src/theory/quantifiers/inst_strategy_e_matching.h
src/theory/quantifiers/options
src/theory/quantifiers/term_database.cpp
src/theory/quantifiers/term_database.h
src/theory/quantifiers/trigger.cpp
src/theory/quantifiers/trigger.h
src/theory/quantifiers_engine.cpp
src/theory/quantifiers_engine.h
src/theory/theory_engine.h
src/theory/uf/options
src/theory/uf/theory_uf_strong_solver.cpp
src/theory/uf/theory_uf_strong_solver.h
src/util/sort_inference.cpp
src/util/sort_inference.h
test/regress/regress0/Makefile.am
test/regress/regress0/quantifiers/Makefile.am