Refactored CnfStream to work with the bv theory Bitblaster:
authorLiana Hadarean <lianahady@gmail.com>
Sat, 25 Feb 2012 18:23:10 +0000 (18:23 +0000)
committerLiana Hadarean <lianahady@gmail.com>
Sat, 25 Feb 2012 18:23:10 +0000 (18:23 +0000)
commit7aa55e0d38e73a02b11ad0c5a60196b610674050
treec59def0ed00dcde29a5a6498cf74ac87dc3a2a6f
parentd8da6a3644d1cdbe62d44a8eb80068da4d1d2855
Refactored CnfStream to work with the bv theory Bitblaster:
    * separated SatSolverInput interface class into two classes:
           - TheoryProxy for the sat solver to communicate with the theories
           - SatSolverInterface abstract class to communicate with the sat solver
    * instead of using #ifdef typedef for SatClauses and SatLiterals, now there are CVC4 SatLiteral/SatClause types and mappings between them and the internal sat solver clause/literal representation
    * added abstract classes for DPLLSatSolver and BVSatSolver different interfaces

Replaced TheoryBV with bitblasting implementation:
    * all operators bitblasted
    * only operator elimination rewrite rules so far
105 files changed:
src/Makefile.am
src/expr/expr_template.h
src/prop/Makefile.am
src/prop/bvminisat/LICENSE [new file with mode: 0644]
src/prop/bvminisat/Makefile.am [new file with mode: 0644]
src/prop/bvminisat/README [new file with mode: 0644]
src/prop/bvminisat/core/Dimacs.h [new file with mode: 0644]
src/prop/bvminisat/core/Main.cc [new file with mode: 0644]
src/prop/bvminisat/core/Makefile [new file with mode: 0644]
src/prop/bvminisat/core/Solver.cc [new file with mode: 0644]
src/prop/bvminisat/core/Solver.h [new file with mode: 0644]
src/prop/bvminisat/core/SolverTypes.h [new file with mode: 0644]
src/prop/bvminisat/doc/ReleaseNotes-2.2.0.txt [new file with mode: 0644]
src/prop/bvminisat/mtl/Alg.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Alloc.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Heap.h [new file with mode: 0644]
src/prop/bvminisat/mtl/IntTypes.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Map.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Queue.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Sort.h [new file with mode: 0644]
src/prop/bvminisat/mtl/Vec.h [new file with mode: 0644]
src/prop/bvminisat/mtl/XAlloc.h [new file with mode: 0644]
src/prop/bvminisat/mtl/config.mk [new file with mode: 0644]
src/prop/bvminisat/mtl/template.mk [new file with mode: 0644]
src/prop/bvminisat/simp/Main.cc [new file with mode: 0644]
src/prop/bvminisat/simp/Makefile [new file with mode: 0644]
src/prop/bvminisat/simp/SimpSolver.cc [new file with mode: 0644]
src/prop/bvminisat/simp/SimpSolver.h [new file with mode: 0644]
src/prop/bvminisat/utils/Makefile [new file with mode: 0644]
src/prop/bvminisat/utils/Options.cc [new file with mode: 0644]
src/prop/bvminisat/utils/Options.h [new file with mode: 0644]
src/prop/bvminisat/utils/ParseUtils.h [new file with mode: 0644]
src/prop/bvminisat/utils/System.cc [new file with mode: 0644]
src/prop/bvminisat/utils/System.h [new file with mode: 0644]
src/prop/bvpicosat/LICENSE [new file with mode: 0644]
src/prop/bvpicosat/Makefile.am [new file with mode: 0644]
src/prop/bvpicosat/Makefile.in [new file with mode: 0644]
src/prop/bvpicosat/NEWS [new file with mode: 0644]
src/prop/bvpicosat/README [new file with mode: 0644]
src/prop/bvpicosat/VERSION [new file with mode: 0644]
src/prop/bvpicosat/app.c [new file with mode: 0644]
src/prop/bvpicosat/config.h [new file with mode: 0644]
src/prop/bvpicosat/configure [new file with mode: 0755]
src/prop/bvpicosat/main.c [new file with mode: 0644]
src/prop/bvpicosat/makefile [new file with mode: 0644]
src/prop/bvpicosat/makefile.in [new file with mode: 0644]
src/prop/bvpicosat/mkconfig [new file with mode: 0755]
src/prop/bvpicosat/picomus.c [new file with mode: 0644]
src/prop/bvpicosat/picosat.c [new file with mode: 0644]
src/prop/bvpicosat/picosat.h [new file with mode: 0644]
src/prop/bvpicosat/version.c [new file with mode: 0644]
src/prop/cnf_stream.cpp
src/prop/cnf_stream.h
src/prop/minisat/core/Dimacs.h
src/prop/minisat/core/Main.cc
src/prop/minisat/core/Solver.cc
src/prop/minisat/core/Solver.h
src/prop/minisat/core/SolverTypes.h
src/prop/minisat/mtl/Alg.h
src/prop/minisat/mtl/Alloc.h
src/prop/minisat/mtl/Heap.h
src/prop/minisat/mtl/Map.h
src/prop/minisat/mtl/Queue.h
src/prop/minisat/mtl/Sort.h
src/prop/minisat/mtl/Vec.h
src/prop/minisat/simp/Main.cc
src/prop/minisat/simp/SimpSolver.cc
src/prop/minisat/simp/SimpSolver.h
src/prop/minisat/utils/Options.cc
src/prop/minisat/utils/Options.h
src/prop/minisat/utils/System.cc
src/prop/minisat/utils/System.h
src/prop/prop_engine.cpp
src/prop/prop_engine.h
src/prop/registrar.h [new file with mode: 0644]
src/prop/sat.cpp
src/prop/sat.h
src/prop/sat_module.cpp [new file with mode: 0644]
src/prop/sat_module.h [new file with mode: 0644]
src/theory/Makefile.am
src/theory/bv/Makefile.am
src/theory/bv/bitblast_strategies.cpp [new file with mode: 0644]
src/theory/bv/bitblast_strategies.h [new file with mode: 0644]
src/theory/bv/bv_sat.cpp [new file with mode: 0644]
src/theory/bv/bv_sat.h [new file with mode: 0644]
src/theory/bv/bv_solver_types.cpp [new file with mode: 0644]
src/theory/bv/bv_solver_types.h [new file with mode: 0644]
src/theory/bv/equality_engine.cpp [deleted file]
src/theory/bv/equality_engine.h [deleted file]
src/theory/bv/kinds
src/theory/bv/slice_manager.h [deleted file]
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_arith.h [new file with mode: 0644]
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/registrar.h [deleted file]
src/theory/theory_registrar.h [new file with mode: 0644]
src/util/bitvector.h
test/unit/Makefile.am
test/unit/prop/cnf_stream_black.h
test/unit/theory/theory_bv_white.h [new file with mode: 0644]