Merge from ufprop branch, including:
authorMorgan Deters <mdeters@gmail.com>
Fri, 19 Nov 2010 01:37:55 +0000 (01:37 +0000)
committerMorgan Deters <mdeters@gmail.com>
Fri, 19 Nov 2010 01:37:55 +0000 (01:37 +0000)
commit663a6edef6b65d400e2d97dc9c8276da3d3cb0b1
tree29c7782beaf37ea855b9bc9436d61e94f60c9393
parentc21ad20770c41ece116c182d97e0ef824e7b26f4
Merge from ufprop branch, including:

* Theory::staticLearning() for statically adding new T-stuff before
  normal preprocessing.  UF's staticLearning() does transitivity of
  equality/iff, solving the diamonds.

* more aggressive T-propagation for UF

* new KEEP_STATISTIC macro to hide Theories from having to
  register/deregister statistics (and also has the advantage of
  keeping the statistic type, field name, and the 'tag' used to output
  the statistic in the same place---instead of scattered in the theory
  definition and constructor initializer list.  See documentation for
  KEEP_STATISTIC in src/util/stats.h for more of an explanation).

* more statistics for UF

* restart notifications from SAT (through TheoryEngine) via
  Theory::notifyRestart()

* StackingMap and UnionFind unit tests

* build fixes/adjustments

* code cleanup; minor other improvements
24 files changed:
src/Makefile.am
src/lib/Makefile [new file with mode: 0644]
src/prop/minisat/core/Solver.cc
src/prop/sat.cpp
src/prop/sat.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/builtin/theory_builtin.h
src/theory/output_channel.h
src/theory/theory.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/uf/Makefile.am
src/theory/uf/morgan/Makefile [new file with mode: 0644]
src/theory/uf/morgan/theory_uf_morgan.cpp
src/theory/uf/morgan/theory_uf_morgan.h
src/theory/uf/morgan/union_find.h
src/theory/uf/tim/Makefile [new file with mode: 0644]
src/util/congruence_closure.h
src/util/stats.h
test/regress/regress0/uf/Makefile.am
test/unit/Makefile.am
test/unit/theory/stacking_map_black.h [new file with mode: 0644]
test/unit/theory/union_find_black.h [new file with mode: 0644]