summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-04-18Removing dead code that came in on commit r1740.Tim King
2011-04-18more work on CVC languageMorgan Deters
2011-04-18mostly CVC presentation language parsing and printingMorgan Deters
2011-04-18This commit merges the branch arithmetic/propagation-again into trunk.Tim King
- This adds code for bounds refinement, and conflict weakening. - This adds util/boolean_simplification.h. - This adds a propagation manager to theory of arithmetic. - Propagation is disabled by default. - Propagation can be enabled by the command line flag "--enable-arithmetic-propagation" - Propagation interacts *heavily* with rewriting equalities, and will work best if the command line flag "--rewrite-arithmetic-equalities" is enabled.
2011-04-18Partial merge from datatypes-merge branch:Morgan Deters
1. Defines a new type "DatatypeType", a type-constant that holds a Datatype, describing an inductive data type. 2. CVC language parser supports datatypes. 3. CVC language printer now functional. 4. Minor other cleanups. No performance impact is expected outside of datatypes. I'm verifying that that is the case with a cluster job this morning.
2011-04-18Fixing output for EOF token in parser errorsChristopher L. Conway
2011-04-15parser/driver fixes for last commitMorgan Deters
2011-04-15partial merge from portfolio branch, adding conversions ↵Morgan Deters
(library-internal-only of course) between Exprs and Nodes, Types and TypeNodes, ExprManagers and NodeManagers.
2011-04-14reverting back the minisat code and adding a simpler one that shouldn't ↵Dejan Jovanović
change the search
2011-04-14Three things:Morgan Deters
1. Infrastructure for unit T-conflicts added to SAT proxy (and also the theory output channel documentation); previously theories could not communicate unit T-conflicts with the SAT layer because that layer had an implicit assumption (not asserted) that the conflict nodes were an AND. 2. UF now pre-rewrites trivial equalities to "true". These could conceivably occur in artificial benchmarks in this form: (let (?x BIG-HUGE-TERM) ... (= ?x ?x) ... ) 3. The SMT-LIBv2 printer now properly prints Bool constants.
2011-04-14fixing an uninitialized literal variableDejan Jovanović
2011-04-13adding support for unit conflicts in minisat...Dejan Jovanović
2011-04-13fix compiler warning in non-replay buildsMorgan Deters
2011-04-13cache the LET rewriting (and defined-function expansion too)---it wasn't ↵Morgan Deters
before, leading to terrible slowdown on heavily-nested LETs (and defined functions)
2011-04-13add disequality token ("/=") and rules to CVC parserMorgan Deters
2011-04-12another small fix to "make dist" that can lead to a misconfigured tarballMorgan Deters
2011-04-11Transitive closure module is workingClark Barrett
2011-04-11fix "make dist" issues in makefilesMorgan Deters
2011-04-10merge from replay branchMorgan Deters
2011-04-10Add -lprofiler when --with-google-perftools is offered; also fix some ↵Morgan Deters
newswire-raised documentation issues.
2011-04-09changing the sat solver to assert propagated literals back to the theoriesDejan Jovanović
2011-04-08Added util classClark Barrett
2011-04-07Made Valuation::getValue() and Valuation::getSatValue() const.Tim King
2011-04-05Memory fix for congruence closure; affects many UF benchmarks, probably AX too.Morgan Deters
2011-04-05Added options for setting the random decision frequency and random seed for ↵Tim King
the sat solver. Also added command line options for setting both.
2011-04-05Minor adjustments to the Registrar commit in 1644, documentation.Morgan Deters
2011-04-04Merging the satliteral-before-prereg branch into trunk. Theory ↵Tim King
preregistration is now called during the conversion to cnf. This fixes bug 257.
2011-04-04Reverts previous commit r1636.Tim King
2011-04-04Add documentation to Node and TNode (closes bug #201).Morgan Deters
Also, only build doxygen documentation on stuff in src/, not test/ or contrib/ or anywhere else. Hopefully this turns our 3000+ page user manual into something a little more useful!
2011-04-02Delayed the addition of unate propagation lemmas until propagation is ↵Tim King
called. The OutputChannel is now untouched by TheoryArith during preregistration.
2011-04-02minor fixesMorgan Deters
2011-04-01minor bugfixes (fixes broken dynamic-library build from last night)Morgan Deters
2011-04-01documentation fixMorgan Deters
2011-04-01This commit is a merge from the "betterstats" branch, which:Morgan Deters
* Makes Options an "omnipresent thread-local global" (like the notion of the "current NodeManager" was already). Options::current() accesses this structure. * Removes Options from constructors and data structures everywhere (this cleans up a lot of things). * No longer uses StatisticsRegistry statically. An instance of the registry is created and linked to a NodeManager. * StatisticsRegistry::current() is similar to Options::current(), but the pointer is stowed in the NodeManager (rather than stored) * The static functions of StatisticsRegistry have been left, for backward compatibility; they now use the "current" statistics registry. * SmtEngine::getStatisticsRegistry() is a public accessor for the registry; this is needed by main() to reach in and get the registry, for flushing statistics at the end.
2011-03-31Fixes to Valuation.Tim King
2011-03-30adding CVC4:: qualifier to the #define for debugging so that it can be used ↵Dejan Jovanović
outside of CVC4 namespace (like minisat)
2011-03-30Moved the constructor for Options out of the header and into the cpp. For ↵Tim King
people who fiddle with default values set by the Options constructor, this will require significantly less recompiling.
2011-03-30Added the command line flag --rewrite-arithmetic-equalities. This sets a ↵Tim King
static flag in Options that the ArithRewriter uses to determine the equality rewriting policy.
2011-03-30Add Valuation::getSatValue() so that theories can access the currentMorgan Deters
(propositional) assignment for theory atoms. Fixed Debug/Trace as discussed in bug ticket #252 and on the mailing list. This implementation leads to some compiler warnings in production builds, but these will be corrected in coming days. There appears to be a small speedup in the parser as a result of this fix: http://goedel.cims.nyu.edu/regress-results/compare_jobs.php?job_id=1902&reference_id=1886&p=5 Cleaned up a few CD Boolean attribute things. Various small fixes to coding guidelines / test coverage. This commit: * Resolves bug 252 (tracing not disabled in production builds) * Resolves bug 254 (implement CDAttrHash<>::BitIterator::find())
2011-03-30Merged the branch sparse-tableau into trunk.Tim King
2011-03-27fixes to attribute-internals warnings on 64-bit; also some GCC function ↵Morgan Deters
attribute cleanup; nothing major
2011-03-26fix for bug 253, was propagating an asserted literalDejan Jovanović
also fixing some compile warnings in attributes
2011-03-25This is a merge from the "theoryfixes+cdattrhash" branch. The changesMorgan Deters
are somewhat disparate but belonged on the same branch because they were held back from trunk all for the same reason (to keep the trunk stable for furious bitvector development). Dejan has now given me the go-ahead for a merge. ========================================= THIS COMMIT CHANGES THE THEORY INTERFACE! ========================================= Theory constructors are expected to take an additional "Valuation*" parameter that each Theory should send along to the base class constructor. The base class Theory keeps the Valuation* in a d_valuation field for use by it and by its derived classes. Theory::getValue() no longer takes a Valuation* (it is expected to use d_valuation instead). This allows other theory functions to take advantage of getValue() for debugging or heuristic purposes. TODO BEFORE MERGE TO TRUNK: ****implement BitIterator find() in CDAttrHash<bool>. Specifically: * Added QF_BV support for SMT-LIB v2. * Two adjustments to the theory interface as requested by Tim King: 1. As described above. 2. Theories now have const access to the fact queue through base class functions facts_begin() and facts_end(); useful for debugging. * Added an "Asserted" attribute so that theories can check if something has been asserted or not (and therefore not propagate it). However, this has been disabled for now, pending more data on the overhead of it, and pending discussion at the 3/25/2011 meeting. * Do not define NDEBUG in MiniSat in assertion-enabled builds (so that MiniSat asserts are evaluated). * As a result of the new MiniSat assertions, some --incremental regressions had to be disabled; also, some bitvectors ?!! * Bug 71 is resolved by adding a specialization for CDAttrHash<> in the attribute package. * Fixes for some warnings flagged by clang. * System tests have arrived! So far mainly infrastructure for having system tests, but there is a system test aimed at improving code coverage of the printer package. * Minor other adjustments to documentation and coding to be more conformant to CVC4 policy. Tests have been performed to demonstrate that these changes have no or negligible effect on performance. In particular, changing the CDAttrHash<> doesn't have any real effect on performance or memory right now, since there is only one context-dependent boolean flag (as soon as another is added, the effect is noticeable but probably still slight).
2011-03-25Fix for a bug Andrew Reynolds found for iterators that affects empty ↵Morgan Deters
CDList<> objects that allocate from ContextMemoryAllocator<>. Iterators were broken in that begin() != end() for empty lists (again---only those that allocated space from ContextMemoryAllocator<>). Added a unit test for this, too. Thanks Andy!
2011-03-22Merges the small changes on the queue-period branch into trunk. This branch ↵Tim King
importantly removes an unintentional line of code that had it pivoting more times than intended before rechecking the queue. Importantly, it does this without losing any examples with rewrite-equality enabled. This adds a parameter NUM_CHECKS which determines how many times the queue chould be checked during difference mode. A value of 10 for NUM_CHECKS has been empirically determined to be good in practice. See jobs 1815, 1824, 1825, 1821, 1814.
2011-03-22updating debug output usage to eliviate impact of bug 252Dejan Jovanović
2011-03-21more bugfixes, some basic propagation, and testcases to cover themDejan Jovanović
2011-03-21fixing a bug in the BV rewrite, off by one error when merging constantsDejan Jovanović
2011-03-20again a typoDejan Jovanović
2011-03-20more bugfixes for bitvectorsDejan Jovanović
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback