Merge from my post-smtcomp branch. Includes:
authorMorgan Deters <mdeters@gmail.com>
Fri, 2 Sep 2011 20:41:08 +0000 (20:41 +0000)
committerMorgan Deters <mdeters@gmail.com>
Fri, 2 Sep 2011 20:41:08 +0000 (20:41 +0000)
commit1d18e5ebed9a5b20ed6a8fe21d11842acf6fa7ea
tree7074f04453914bc377ff6aeb307dd17b82b76ff3
parent74770f1071e6102795393cf65dd0c651038db6b4
Merge from my post-smtcomp branch.  Includes:

Dumping infrastructure.  Can dump preprocessed queries and clauses.  Can
also dump queries (for testing with another solver) to see if any conflicts
are missed, T-propagations are missed, all lemmas are T-valid, etc.  For a
full list of options see --dump=help.

CUDD building much cleaner.

Documentation and assertion fixes.

Printer improvements, printing of commands in language-defined way, etc.

Typechecker stuff in expr package now autogenerated, no need to manually
edit the expr package when adding a new theory.

CVC3 compatibility layer (builds as libcompat).

SWIG detection and language binding support (infrastructure).

Support for some Z3 extended commands (like datatypes) in SMT-LIBv2 mode
(when not in compliance mode).

Copyright and file headers regenerated.
344 files changed:
INSTALL [deleted file]
Makefile.am
Makefile.builds.in
README
autogen.sh
config/bindings.m4 [new file with mode: 0644]
config/cudd.m4 [new file with mode: 0644]
config/cvc4.m4
config/doxygen.cfg
config/mkbuilddir
configure.ac
contrib/build-cudd-with-libtool.sh [new file with mode: 0755]
contrib/cut-release [new file with mode: 0755]
contrib/update-copyright.pl
doc/cvc4.1.in [new file with mode: 0644]
doc/cvc4.5.in [new file with mode: 0644]
doc/libcvc4.3.in [new file with mode: 0644]
doc/libcvc4compat.3.in [new file with mode: 0644]
doc/libcvc4parser.3.in [new file with mode: 0644]
src/Makefile.am
src/bindings/Makefile [new file with mode: 0644]
src/bindings/Makefile.am [new file with mode: 0644]
src/compat/Makefile [new file with mode: 0644]
src/compat/Makefile.am [new file with mode: 0644]
src/compat/cvc3_compat.cpp [new file with mode: 0644]
src/compat/cvc3_compat.h [new file with mode: 0644]
src/context/Makefile.am
src/context/cdcirclist.h [new file with mode: 0644]
src/context/cdcirclist_forward.h [new file with mode: 0644]
src/context/cdlist.h
src/context/cdlist_context_memory.h
src/context/cdlist_forward.h
src/context/cdmap.h
src/context/cdmap_forward.h
src/context/cdo.h
src/context/cdset.h
src/context/cdset_forward.h
src/context/cdvector.h
src/context/context.cpp
src/context/context.h
src/context/context_mm.cpp
src/context/context_mm.h
src/context/stacking_map.h [new file with mode: 0644]
src/context/stacking_vector.h [new file with mode: 0644]
src/expr/Makefile.am
src/expr/attribute.cpp
src/expr/attribute.h
src/expr/command.cpp
src/expr/command.h
src/expr/convenience_node_builders.h
src/expr/declaration_scope.cpp
src/expr/declaration_scope.h
src/expr/expr_manager_template.cpp
src/expr/expr_manager_template.h
src/expr/expr_stream.h
src/expr/expr_template.cpp
src/expr/expr_template.h
src/expr/kind_map.h
src/expr/metakind_template.h
src/expr/mkexpr
src/expr/mkkind
src/expr/mkmetakind
src/expr/node.h
src/expr/node_builder.h
src/expr/node_manager.cpp
src/expr/node_manager.h
src/expr/node_self_iterator.h
src/expr/node_value.cpp
src/expr/node_value.h
src/expr/type.cpp
src/expr/type.h
src/expr/type_checker.h [new file with mode: 0644]
src/expr/type_checker_template.cpp [new file with mode: 0644]
src/expr/type_node.cpp
src/expr/type_node.h
src/include/cvc4_private.h
src/include/cvc4_public.h
src/include/cvc4parser_private.h
src/include/cvc4parser_public.h
src/lib/clock_gettime.c
src/lib/replacements.h
src/main/interactive_shell.cpp
src/main/interactive_shell.h
src/main/main.cpp
src/main/main.h
src/main/usage.h
src/main/util.cpp
src/parser/Makefile.am
src/parser/antlr_input.cpp
src/parser/antlr_input.h
src/parser/bounded_token_factory.cpp
src/parser/bounded_token_factory.h
src/parser/cvc/Cvc.g
src/parser/cvc/cvc_input.cpp
src/parser/cvc/cvc_input.h
src/parser/input.cpp
src/parser/memory_mapped_input_buffer.cpp
src/parser/memory_mapped_input_buffer.h
src/parser/parser.cpp
src/parser/parser.h
src/parser/smt/Smt.g
src/parser/smt/smt.cpp
src/parser/smt/smt.h
src/parser/smt/smt_input.cpp
src/parser/smt/smt_input.h
src/parser/smt2/Smt2.g
src/parser/smt2/smt2_input.cpp
src/parser/smt2/smt2_input.h
src/printer/ast/ast_printer.cpp
src/printer/ast/ast_printer.h
src/printer/cvc/cvc_printer.cpp
src/printer/cvc/cvc_printer.h
src/printer/printer.cpp
src/printer/printer.h
src/printer/smt/smt_printer.cpp
src/printer/smt/smt_printer.h
src/printer/smt2/smt2_printer.cpp
src/printer/smt2/smt2_printer.h
src/prop/cnf_stream.cpp
src/prop/cnf_stream.h
src/prop/minisat/Makefile.am
src/prop/minisat/core/Solver.cc
src/prop/minisat/core/Solver.h
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/prop/sat.cpp
src/smt/bad_option_exception.h
src/smt/modal_exception.h
src/smt/no_such_function_exception.h
src/smt/smt_engine.cpp
src/smt/smt_engine.h
src/theory/arith/arith_priority_queue.cpp
src/theory/arith/arith_priority_queue.h
src/theory/arith/arith_prop_manager.cpp
src/theory/arith/arith_prop_manager.h
src/theory/arith/arith_rewriter.cpp
src/theory/arith/arith_static_learner.h
src/theory/arith/arith_utilities.h
src/theory/arith/atom_database.cpp
src/theory/arith/atom_database.h
src/theory/arith/delta_rational.cpp
src/theory/arith/delta_rational.h
src/theory/arith/kinds
src/theory/arith/normal_form.cpp
src/theory/arith/normal_form.h
src/theory/arith/ordered_set.h
src/theory/arith/partial_model.cpp
src/theory/arith/partial_model.h
src/theory/arith/simplex.cpp
src/theory/arith/simplex.h
src/theory/arith/tableau.cpp
src/theory/arith/tableau.h
src/theory/arith/theory_arith.cpp
src/theory/arith/theory_arith.h
src/theory/arith/theory_arith_type_rules.h
src/theory/arrays/array_info.cpp
src/theory/arrays/array_info.h
src/theory/arrays/kinds
src/theory/arrays/static_fact_manager.cpp
src/theory/arrays/static_fact_manager.h
src/theory/arrays/theory_arrays.cpp
src/theory/arrays/theory_arrays.h
src/theory/arrays/theory_arrays_rewriter.h
src/theory/arrays/union_find.cpp
src/theory/arrays/union_find.h
src/theory/booleans/circuit_propagator.cpp
src/theory/booleans/circuit_propagator.h
src/theory/booleans/kinds
src/theory/booleans/theory_bool.cpp
src/theory/booleans/theory_bool.h
src/theory/booleans/theory_bool_rewriter.cpp
src/theory/booleans/theory_bool_rewriter.h
src/theory/booleans/theory_bool_type_rules.h
src/theory/builtin/kinds
src/theory/builtin/theory_builtin.cpp
src/theory/builtin/theory_builtin.h
src/theory/builtin/theory_builtin_rewriter.cpp
src/theory/builtin/theory_builtin_type_rules.h
src/theory/bv/cd_set_collection.h
src/theory/bv/equality_engine.cpp
src/theory/bv/equality_engine.h
src/theory/bv/kinds
src/theory/bv/slice_manager.h
src/theory/bv/theory_bv.cpp
src/theory/bv/theory_bv.h
src/theory/bv/theory_bv_rewrite_rules.h
src/theory/bv/theory_bv_rewrite_rules_core.h
src/theory/bv/theory_bv_rewriter.cpp
src/theory/bv/theory_bv_rewriter.h
src/theory/bv/theory_bv_type_rules.h
src/theory/bv/theory_bv_utils.h
src/theory/datatypes/datatypes_rewriter.h
src/theory/datatypes/explanation_manager.cpp
src/theory/datatypes/kinds
src/theory/datatypes/theory_datatypes.cpp
src/theory/datatypes/theory_datatypes.h
src/theory/datatypes/theory_datatypes_type_rules.h
src/theory/datatypes/union_find.cpp
src/theory/datatypes/union_find.h
src/theory/interrupted.h
src/theory/mkrewriter
src/theory/mktheorytraits
src/theory/output_channel.h
src/theory/rewriter.cpp
src/theory/rewriter.h
src/theory/rewriter_attributes.h
src/theory/rewriter_tables_template.h
src/theory/shared_data.cpp
src/theory/shared_data.h
src/theory/shared_term_manager.cpp
src/theory/shared_term_manager.h
src/theory/substitutions.cpp
src/theory/substitutions.h
src/theory/theory.cpp
src/theory/theory.h
src/theory/theory_engine.cpp
src/theory/theory_engine.h
src/theory/theory_test_utils.h
src/theory/theory_traits_template.h
src/theory/uf/Makefile.am
src/theory/uf/equality_engine.h
src/theory/uf/equality_engine_impl.h
src/theory/uf/kinds
src/theory/uf/morgan/Makefile [deleted file]
src/theory/uf/morgan/Makefile.am [deleted file]
src/theory/uf/morgan/stacking_map.cpp [deleted file]
src/theory/uf/morgan/stacking_map.h [deleted file]
src/theory/uf/morgan/theory_uf_morgan.cpp [deleted file]
src/theory/uf/morgan/theory_uf_morgan.h [deleted file]
src/theory/uf/morgan/union_find.cpp [deleted file]
src/theory/uf/morgan/union_find.h [deleted file]
src/theory/uf/theory_uf.cpp
src/theory/uf/theory_uf.h
src/theory/uf/theory_uf_rewriter.h
src/theory/uf/theory_uf_type_rules.h
src/theory/uf/tim/Makefile [deleted file]
src/theory/uf/tim/Makefile.am [deleted file]
src/theory/uf/tim/ecdata.cpp [deleted file]
src/theory/uf/tim/ecdata.h [deleted file]
src/theory/uf/tim/theory_uf_tim.cpp [deleted file]
src/theory/uf/tim/theory_uf_tim.h [deleted file]
src/theory/valuation.cpp
src/theory/valuation.h
src/util/Assert.cpp
src/util/Assert.h
src/util/Makefile.am
src/util/array.h
src/util/backtrackable.h
src/util/bitvector.h
src/util/bool.h
src/util/boolean_simplification.cpp
src/util/boolean_simplification.h
src/util/cardinality.h
src/util/configuration.cpp
src/util/configuration.h
src/util/configuration_private.h
src/util/congruence_closure.cpp
src/util/congruence_closure.h
src/util/datatype.cpp
src/util/datatype.h
src/util/debug.h
src/util/decision_engine.cpp
src/util/decision_engine.h
src/util/dynamic_array.h
src/util/gmp_util.h
src/util/hash.h
src/util/integer.h.in
src/util/integer_cln_imp.h
src/util/integer_gmp_imp.h
src/util/ite_removal.cpp
src/util/ite_removal.h
src/util/language.h
src/util/matcher.h
src/util/ntuple.h
src/util/options.cpp
src/util/options.h
src/util/output.cpp
src/util/output.h
src/util/rational.h.in
src/util/rational_cln_imp.cpp
src/util/rational_cln_imp.h
src/util/rational_gmp_imp.cpp
src/util/rational_gmp_imp.h
src/util/result.cpp
src/util/result.h
src/util/sexpr.h
src/util/stats.cpp
src/util/stats.h
src/util/trans_closure.cpp
src/util/trans_closure.h
test/Makefile.am
test/regress/regress0/uf/Makefile.am
test/regress/regress0/uf/ccredesign-fuzz.smt [new file with mode: 0644]
test/regress/regress0/uf/euf_simp09.tim.smt [deleted file]
test/system/Makefile.am
test/system/cvc3_george.cpp [new file with mode: 0644]
test/system/cvc3_george.h [new file with mode: 0644]
test/system/cvc3_main.cpp [new file with mode: 0644]
test/unit/Makefile.am
test/unit/context/cdcirclist_white.h [new file with mode: 0644]
test/unit/context/cdlist_black.h
test/unit/context/cdlist_context_memory_black.h
test/unit/context/cdmap_black.h
test/unit/context/cdmap_white.h
test/unit/context/cdo_black.h
test/unit/context/cdvector_black.h
test/unit/context/context_black.h
test/unit/context/context_mm_black.h
test/unit/context/context_white.h
test/unit/context/stacking_map_black.h [new file with mode: 0644]
test/unit/context/stacking_vector_black.h [new file with mode: 0644]
test/unit/expr/attribute_black.h
test/unit/expr/declaration_scope_black.h
test/unit/expr/expr_manager_public.h
test/unit/expr/expr_public.h
test/unit/expr/kind_black.h
test/unit/expr/node_black.h
test/unit/expr/node_builder_black.h
test/unit/expr/node_manager_black.h
test/unit/expr/node_manager_white.h
test/unit/expr/node_self_iterator_black.h
test/unit/expr/node_white.h
test/unit/main/interactive_shell_black.h
test/unit/memory.h
test/unit/parser/parser_builder_black.h
test/unit/prop/cnf_stream_black.h
test/unit/theory/shared_term_manager_black.h
test/unit/theory/stacking_map_black.h
test/unit/theory/theory_arith_white.h
test/unit/theory/theory_black.h
test/unit/theory/theory_engine_white.h
test/unit/theory/theory_uf_tim_white.h [deleted file]
test/unit/theory/union_find_black.h
test/unit/util/assert_white.h
test/unit/util/configuration_black.h
test/unit/util/congruence_closure_white.h
test/unit/util/datatype_black.h
test/unit/util/exception_black.h
test/unit/util/integer_black.h
test/unit/util/integer_white.h
test/unit/util/rational_black.h
test/unit/util/rational_white.h
test/unit/util/stats_black.h
test/unit/util/trans_closure_black.h