summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-04-17A dummy decision engine. Expected performance impact: none.Kshitij Bansal
Adds DecisionEngine and an abstract class DecisionStrategy which other strategies will derive from eventually. Full revision summary of merged commits: r3241 merge from trunk r3240 fix r3239 WIP r3238 JH, CVC3 code: 5% done -- 5% translated r3237 JH groundwork r3236 make make regrss pass r3234 hueristic->heuristic r3229 JustificationHeuristic: EOD-WIP r3228 DecisionEngine: hookup assetions r3227 move ITE outside simplifyAssertions r3226 DecisionStrategy abstract class r3222 DecisionEngine: begin
2012-04-17Merges branches/arithmetic/atom-database r2979 through 3247 into trunk. ↵Tim King
Below is a highlight of the changes: - This introduces a new normal form to arithmetic. -- Equalities and disequalities are in solved form. Roughly speaking this means: (= x (+ y z)) is in normal form. (See the comments in normal_form.h for what this formally requires.) -- The normal form for inequality atoms always uses GEQ and GT instead of GEQ and LEQ. Integer atoms always use GEQ. - Constraint was added to TheoryArith. -- A constraint is a triple of (k x v) where: --- k is the type of the constraint (either LowerBound, UpperBound, Equality or Disequality), --- x is an ArithVar, and --- v is a DeltaRational value. -- Constraints are always attached to a ConstraintDatabase. -- A Constraint has its negation in the ConstraintDatabase [at least for now]. -- Every constraint belongs to a set of constraints for each ArithVar sorted by the delta rational values. -- This set can be iterated over and provides efficient access to other constraints for this variable. -- A literal may be attached to a constraint. -- Constraints with attached literals may be marked as being asserted to the theory (sat context dependent). -- Constraints can be propagated. -- Every constraint has a proof (sat context dependent). -- Proofs can be explained for either conflicts or propagations (if the node was propagated). (These proofs may be different.) -- Equalities and disequalities can be marked as being split (user context dependent) - This removes and replaces: -- src/theory/arith/arith_prop_manager.* -- src/theory/arith/atom_database.* -- src/theory/arith/ordered_set.h - Added isZero(), isOne() and isNegativeOne() to Rational and Integer. - Added operator+ to CDList::const_iterator. - Added const_iterator to CDQueue. - Changes to regression tests.
2012-04-14Fixed bug in sharing with arrays of different typesClark Barrett
2012-04-13Fix SExpr name qualification for swig, and #include integer and rational ↵Morgan Deters
headers.
2012-04-12svn ignore Makefile.in for aufbv regression directoryMorgan Deters
2012-04-12Adds an operator<< to SExpr::SexprTypes. This fixes bug 317. In debug ↵Tim King
builds, an Unhandled(SExpr::SexprTypes) could not compile on debian.
2012-04-11merge from arrays-clark branchMorgan Deters
2012-04-06* Smt2 printer for datatypesFrançois Bobot
* Fix DefineFunctionCommand when a constant is defined
2012-04-06* Fix ITEs and functions in CVC language printer.Morgan Deters
* Permit "BOOL = BOOL" in CVC language parser (auto-replaced with IFF internally, except in strict mode). * SExpr atoms now can be string-, integer-, or rational-valued. * SmtEngine::setInfo(":status", ...) now properly dumps a SetBenchmarkStatusCommand rather than a SetInfoCommand. * Some dumping fixes (resolves bug 313)
2012-04-06fix distributed builds (and therefore the Debian nightly build) by ignoring ↵Morgan Deters
Makefile.am files under src/prop/cryptominisat.
2012-04-06processing assertions in bit-vectors even when in fullcheck (needed for sharing)Dejan Jovanović
2012-04-05Support to test the "dumper" mechanism in regressions (feeding dump output ↵Morgan Deters
back in) by doing "make regress RUN_REGRESSION_ARGS=--dump"
2012-04-04some settings in bvminisatDejan Jovanović
2012-04-04changed BVMinisat options to use cc_min=0 in propagate only calls and ↵Liana Hadarean
cc_min=2 in solve
2012-04-04changed ccmin_mode in BvMinisatLiana Hadarean
2012-04-04 * added propagation as lemmas to TheoryBV:Liana Hadarean
* modified BVMinisat to work incrementally * added more bv regressions
2012-04-03Fix for make dist.Tim King
2012-04-02Fix for broken unit tests from the previous commit.Tim King
2012-04-02- Merged in the branch cdlist-cleanup.Tim King
- This adds a CleanUp template argument to CDList. - CDChunkList<T> replaces the CDList specialization for ContextMemoryAllocator. - CDVector<T> has been simplified and improved. - The expected performance impact is negligible.
2012-04-02fix for cvc4_logic dumpKshitij Bansal
2012-04-02Removing large and unused regress2 benchmarks to decrease the size of checkouts.Tim King
2012-03-30some more build system fixesDejan Jovanović
2012-03-30fixing some build systme warningsDejan Jovanović
2012-03-29Fix for bug 316. If the flag @CVC4_TLS_SUPPORTED@ is false, function ↵Tim King
pointers cannot be directly used with the CVC4_THREADLOCAL macro. This is why there were problems on macs.
2012-03-29Fixes a linking problem with the new SatSolverConstructor on Mac.Tim King
2012-03-29bringing cryptominisat into the main branchDejan Jovanović
2012-03-28enabling the --disable-arithmetic-propagation option in the arithmetic code ↵Dejan Jovanović
(it wasn't used)
2012-03-28fix swig-ignored interface name; hopefully fixes Debian package nightly buildsMorgan Deters
2012-03-28Update to the ArithRewriter to remove REWRITE_AGAIN_FULL and limit ↵Tim King
REWRITE_AGAIN calls.
2012-03-28Some renaming and refactoring in SATDejan Jovanović
2012-03-28getting rid of a rewrite in uf sharing, speeds things up a bitDejan Jovanović
2012-03-28fixed faulty bv rewrite ruleLiana Hadarean
2012-03-28adding an extra cache check in the rewriter, speeds things a bitDejan Jovanović
http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3828&category=&p=5&reference_id=3820
2012-03-26Global registry of SAT solvers, where they are registered at compile time. ↵Dejan Jovanović
The available SAT solvers can be seen with the --show-sat-solvers option.
2012-03-26More cleaning up.Dejan Jovanović
2012-03-26more datail from the build failureDejan Jovanović
2012-03-26with a small fixDejan Jovanović
2012-03-26forgot to commit this one, fixing build errorsDejan Jovanović
2012-03-25moving minisat implementation into their respective directories (regular and bv)Dejan Jovanović
2012-03-25sat_module.h,cpp -> sat_solver.h,cpp (as intended)Dejan Jovanović
2012-03-25sat.h,cpp -> theory_proxy.h,cpp (this is what it defines)Dejan Jovanović
2012-03-24a cute script to make a video of development from the svn logsDejan Jovanović
2012-03-23Removed the variableRemovalEnabled option and d_removedRows from ↵Tim King
TheoryArith. This had been disabled for several months.
2012-03-22* improving arithmetic getEqualityStatusDejan Jovanović
* some sharing improvements based on model
2012-03-22Merged updated version of the bitvector theory:Liana Hadarean
* added simplification rewrites
2012-03-22some improvements to the sharing mechanism/interfaceDejan Jovanović
2012-03-21Disable nonclausal simplification for QF_SAT benchmarks by default.Morgan Deters
(Can be overridden with --simplification=batch, for example.)
2012-03-09Some work on the dump infrastructure to support portfolio work.Morgan Deters
Dump("foo") << FooCommand(...); now "dumps" the textual representation of the command (in the current output language) to a file, IF dumping is on at configure-time, AND the "muzzle" feature is off, AND the "foo" flag is turned on for the dump stream during this run. If it's a portfolio build, the above will also store the command in a CommandSequence, IF the "foo" flag is turned on for the dump stream during this run. This is done even if the muzzle is on. This commit also cleans up some code that used the dump feature (in arrays, particularly).
2012-03-09fix a "lost command" bug and associated memory leak in SMT-LIBv1 parser due ↵Morgan Deters
to an out-of-place parenthesis
2012-03-09Strengthen minisat assertion regarding t-propagations that was ↵Morgan Deters
unintentionally allowing a theory to propagate p and ~p at the same time (and the conflict was undetected, leading to an incorrect answer). Credit to Clark for finding this.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback