Merge from nonclausal-simplification-v2 branch:
authorMorgan Deters <mdeters@gmail.com>
Thu, 5 May 2011 22:23:50 +0000 (22:23 +0000)
committerMorgan Deters <mdeters@gmail.com>
Thu, 5 May 2011 22:23:50 +0000 (22:23 +0000)
commitfef0f8190fc7e5f3b88b33e7574b7df1e629e80f
treedfdda739bf5008096860e19f6b9275fb2a257960
parent90d8205a86b698c2548108ca4db124fe9c3f738a
Merge from nonclausal-simplification-v2 branch:

* Preprocessing-time, non-clausal, Boolean simplification round to
  support "quasi-non-linear rewrites" as discussed at last few meetings.

* --simplification=none is the default for now, but we'll probably
  change that to --simplification=incremental.  --simplification=batch
  is also a possibility.  See --simplification=help for details.

* RecursionBreaker<T> now uses a hash set for the seen trail.
* Fixes to TLS stuff to support that.
* Fixes to theory and SmtEngine documentation.
* Fixes to stream indentation.
* Other miscellaneous stuff.
48 files changed:
src/expr/command.cpp
src/expr/command.h
src/expr/node.h
src/expr/node_builder.h
src/expr/type_node.cpp
src/expr/type_node.h
src/include/cvc4_public.h
src/main/main.cpp
src/main/main.h
src/parser/cvc/Cvc.g
src/printer/smt2/smt2_printer.cpp
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/Makefile.am
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith.h
src/theory/booleans/Makefile.am
src/theory/booleans/circuit_propagator.cpp [new file with mode: 0644]
src/theory/booleans/circuit_propagator.h [new file with mode: 0644]
src/theory/booleans/theory_bool.cpp
src/theory/booleans/theory_bool.h
src/theory/builtin/theory_builtin.cpp
src/theory/builtin/theory_builtin.h
src/theory/mktheorytraits
src/theory/rewriter.h
src/theory/rewriter_attributes.h
src/theory/substitutions.h [new file with mode: 0644]
src/theory/theory.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/valuation.cpp
src/theory/valuation.h
src/util/Makefile.am
src/util/boolean_simplification.cpp
src/util/boolean_simplification.h
src/util/cache.h [new file with mode: 0644]
src/util/datatype.cpp
src/util/datatype.h
src/util/options.cpp
src/util/options.h
src/util/output.cpp
src/util/output.h
src/util/recursion_breaker.h
src/util/tls.h.in
src/util/utility.h [new file with mode: 0644]
test/regress/regress0/Makefile.am
test/regress/regress0/simplification_bug.smt [new file with mode: 0644]
test/regress/regress0/simplification_bug2.smt [new file with mode: 0644]