summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-07-08Bugs resolved by this commit: #314, #322, #359, #364, #365.Morgan Deters
See below for details. * Fix the "assert" name-collision bug (resolves bug #364). Our identifiers should never be named "assert", as that's a preprocessor definition in <assert.h>, which is often #included indirectly (so simply having a policy of not including <assert.h> isn't good enough---one of our dependences might include it). It was once the case that we didn't have anything named "assert", but "assert()" has now crept back in. Instead, name things "assertFoo()" or similar. Thanks to Tim for the report. To fix this, I've changed some of Dejan's circuit-propagator code from "assert()" to "assertTrue()". Ditto for Andy's explanation manager. Guys, if you prefer a different name in your code, please change it. * Fix the incorrect parsing of lets in SMT-LIBv2 parser (resolves bug #365). Inner lets now shadow outer lets (previously, they incorrectly gave an error). Additionally, while looking at this, I found that a sequential let was implemented rather than a parallel let. This is now fixed. Thanks to Liana for the report. * Remove ANTLR parser generation warnings in CVC parser (resolves bug #314). * There were a lot of Debug lines in bitvectors that had embedded toString() calls. This wasted a LOT of time in debug builds for BV benchmarks (like in "make regress"). Added if(Debug.isOn(...)) guards; much faster now. * Support for building public-facing interface documentation only (as opposed to all internals documentation). Now "make doc" does the public-facing and "make doc-internals" does documentation of everything. (Along with changes to the nightly build script---which will now build and publish both types of Doxygen documentation---this resolves bug #359). * Fix the lambda typechecking bug (resolves bug #322). Thanks to Andy for the report (a long long time ago--sorry). * The default output language for all streams is now based on the current set of Options (if there is one). This has been a constant annoyance, especially when stringstreams are used to construct output. However, it doesn't work for calls from outside the library, so it's mainly an annoyance-fixer for CVC4 library code itself. * Add some CVC4_UNUSED markers to local variables in theory_arith.cpp that are used only in assertions-enabled builds (and thus give warnings in production builds). This was briefly discussed at the meeting this week.
2012-07-07Various fixes to documentation---typos, some incomplete documentation fixed, ↵Morgan Deters
\file tags corrected, copyright added to files that had it missing, etc. I ensured that I didn't change any code with this commit, and even tested on the cluster to be doubly sure: http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=4655&reference_id=4646&p=0
2012-07-06Adding std namespace to a couple of make_pair instances.Tim King
2012-07-06Added include unistd to main/util.cppTim King
2012-07-06Added virtual destructor to PpRewrite.Tim King
2012-07-01Some changes to configure.ac:Morgan Deters
1. Includes BOOST_CPPFLAGS during compilation of all files, not just portfolio-relevant files. This is necessary since we now have a general dependence on Boost (not just its threading stuff). This resolves bug 357. 2. Support --disable-thread-support and --enable-thread-support, in an effort to get to the bottom of bug 361. These changes shouldn't affect performance, though #1 will build the cvc4 libs with a couple of pthread definitions that conceivably could change the behavior of #included standard headers. Let's keep an eye on tonight's regressions.
2012-06-28svn:ignoreMorgan Deters
2012-06-28Fixed bug in bv rewriter that caused wrong answer in SMT-COMPsmtcomp2012-resubmission-2Clark Barrett
2012-06-28fix a link error on church, due to Antlr #defining "true" and "false" :-( ↵smtcomp2012-resubmissionMorgan Deters
--for now, just #undef them after the #include
2012-06-27Fixing a bug in proof production for the DioSolver.Tim King
2012-06-27This adds TheoryArith::safeToReset(). This fixes bug 363.Tim King
2012-06-27Adding access to simplex's ArithPriorityQueue to TheoryArith for ↵Tim King
ArithPriorityQueue::reduce(), ::begin() and ::end().
2012-06-27Improved debugging output.Tim King
2012-06-27Improved debugging output.Tim King
2012-06-27Adding reduce() to the ArithPriorityQueue. This reduces the queue from a ↵Tim King
superset of the basic variables that violate a bound to the exact set.
2012-06-25Added a warning to arithmetic for a known dio solver bug. Somehow the fix ↵Tim King
never made it to trunk. Do not know how. The fix to the bug is pending the hunt for bug 363.
2012-06-22TPTP: add parser for cnf and fofFrançois Bobot
- include directive works - no keyword : 'fof', 'cnf', ... can be used for symbols name - real -> unsorted -> real (for the one that appear, so no bijection bitween real and unsorted) - same thing for string But: - string not distinct by projection to real, not sure if the current state of string theory make them distinct - filtering in include is not done - the result is not printed in the TPTP way (currently SMT2 way)
2012-06-22parser: add some acces function and recover the original nextToken from antlr3François Bobot
in order to be able to use the stack of streams.
2012-06-22fix : function AntlrInput::tokenTextSubstrFrançois Bobot
2012-06-22Parser: add the possibility to bind at level 0.François Bobot
2012-06-18qf_lra strategysmtcomp2012Morgan Deters
2012-06-18Reverting buggy rewriter codeClark Barrett
2012-06-18another qf_lra strategy updateMorgan Deters
2012-06-18Fixed bug in rewriterClark Barrett
2012-06-18unnecessary ^ in regular expression; warning produced on smt-execMorgan Deters
2012-06-18QF_LRA strategy in run script, now final (?) for smt-comp 2012Morgan Deters
2012-06-18final sources (?) for competitionMorgan Deters
2012-06-18Fix for slow array rewrite and minor bug fix in arrays that popped up as a ↵Clark Barrett
result
2012-06-18small bug fix and performance fix in ite simplifierClark Barrett
2012-06-18fixed smt version 1 parser for quantifiersAndrew Reynolds
2012-06-18tracing code to make sure decision options are being set correctlyKshitij Bansal
2012-06-18bugfix, enable only QF_LRA, not other arithKshitij Bansal
2012-06-18QF_LRA, Quantifiers: enable use decision for (only for) stopping searchKshitij Bansal
2012-06-18Fixing bug 360. The driver wasn't exiting when there was an error (it just ↵Morgan Deters
plowed ahead to the next command). Now the driver exits on the first error, unless it's in interactive mode.
2012-06-17QF_AUFLIA: enable use decision for (only for) stopping searchKshitij Bansal
2012-06-17fixing a problem due to lemmas produced while backtrackingDejan Jovanović
2012-06-17--decision=justification-stoponly : use decision engine only for stoppingKshitij Bansal
search early, not to make decisions new options.h :)
2012-06-17enabling theoryof=term for quantifiers with sharingDejan Jovanović
disableing one test case in equantifiers/decision that runs long
2012-06-17fixing wrong assertionDejan Jovanović
2012-06-17Removed assertion that can failClark Barrett
2012-06-17fixing makefile error that brakes buildDejan Jovanović
2012-06-17Fix array bug causing incorrect answersClark Barrett
2012-06-16small change to equality assertions so that one doesn't get x = y and y = xDejan Jovanović
2012-06-16Adding the failing QF_AUFLIA regression mentioned in last commit.Kshitij Bansal
pp-regfile.delta02.smt is the one to look at with --decision=justificaiton, the delta minimized version of pp-regfile, which also gives wrong answer. due to various commits/fixes, delta01 gives correct answer currently.
2012-06-16This is an attempt to fix the bug in the justification heuristic. TheKshitij Bansal
other minor change is removing dependency of header file in theory_engine.h It fixes all known wrong answers in QF_BV and QF_AUFBV. It doesn't fix a wrong answer for QF_AUFLIA -- it is currently unclear what is the cause of this bug, could be sharing. Performance impact (turns out) is none on QF_BV and QF_AUFBV (except, of course, those for which the answer was wrong earlier; and also perhaps one or two off-cases) The issue was with how the infinite loop in justification stuff was prevented. To keep it short, I skip what was wrong earlier, and this is what is done now: * whenever an atomic formula is seen, a list of pairs of <IteSkolemVariable, AssertionCorrespondingToIteSkolem> is created for each skolem occuring in the atom. * we iterate over this list, doing the following: check if skolem is marked as visited. if not, mark visited, recurse, when back unmark. I lied, I will tell you what was being done earlier was -- 1. the check for not being visited was being done in each recursive call, not just for atoms. 2. The AssertionCorrespondingToIteSkolem was being used to check if something is visited and not IteSkolemVariable. I don't know if this makes any difference, but anyhow, I think this is cleaner & clearer, so I keep this.
2012-06-16updated build script for smt-comp submissionMorgan Deters
2012-06-16changing theoryOf in shared mode with arrays to move equalities to arraysDejan Jovanović
disabled in bitvectors due to non-stably infinite problems the option to enable it is --theoryof-mode=term
2012-06-16Fixing if condition for trivial equalities in arithmetic. Also some ↵Tim King
whitespace issues in smt_engine.cpp.
2012-06-15Bug fix in justification heuristic. Had to do with howKshitij Bansal
a "visited" node in the recursive findSplitter method was handled (which would lead to infinite loop). Earlier, they were ignored assuming the ancestor would split on it later. The right thing to do is to split on it right away. (Fixes errors from the fuzzer, not the ones from last night's regression)
2012-06-15Reverting rewrite rule to working versionClark Barrett
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback