cvc5.git
13 years agoCongruenceClosure module now should support nullary congruence operators (now that...
Morgan Deters [Mon, 28 Feb 2011 07:49:56 +0000 (07:49 +0000)]
CongruenceClosure module now should support nullary congruence operators (now that they are allowed for the datatypes theory, as in (APPLY_CONSTRUCTOR nil) or (APPLY_CONSTRUCTOR zero)).  It does this by treating such terms with zero children as non-candidates for congruence, even though they have the congruence kind APPLY_CONSTRUCTOR.

13 years agoReview of mktheorytraits, mkrewriter, and recent changes to other mk* scripts. Minor...
Morgan Deters [Mon, 28 Feb 2011 07:03:33 +0000 (07:03 +0000)]
Review of mktheorytraits, mkrewriter, and recent changes to other mk* scripts.  Minor changes only, correcting some documentation and fixing some warnings that were being issued about functions not existing.

13 years agominor doxygen build target fixes
Morgan Deters [Mon, 28 Feb 2011 06:27:12 +0000 (06:27 +0000)]
minor doxygen build target fixes

13 years agoReview of statistics code. Added lots of documentation, and fixed an issue (I think...
Morgan Deters [Mon, 28 Feb 2011 06:06:25 +0000 (06:06 +0000)]
Review of statistics code.  Added lots of documentation, and fixed an issue (I think) that Tim found with TimerStat involving wild, sometimes negative, timer statistic values.  (It was due to improper initialization.)

13 years ago- Adds a path for Theory to be passed a reference to Options.
Tim King [Sun, 27 Feb 2011 19:59:52 +0000 (19:59 +0000)]
- Adds a path for Theory to be passed a reference to Options.
- Adds 3 choices of heuristic variable orders to use in ArithPriorityQueue.
- Adds the pivot-rule command line option.

13 years ago- Makes VarCoeffPair a class instead of a typedef of pair<ArithVar, Rational>. This...
Tim King [Sun, 27 Feb 2011 18:29:38 +0000 (18:29 +0000)]
- Makes VarCoeffPair a class instead of a typedef of pair<ArithVar, Rational>.  This addresses a point Dejan brought up in the code review.

13 years ago- Adds a buffer to the ReducedRowVector addRowTimesConstant operation to reduce the...
Tim King [Sun, 27 Feb 2011 17:34:37 +0000 (17:34 +0000)]
- Adds a buffer to the ReducedRowVector addRowTimesConstant operation to reduce the number of allocations made.  Compare cluster jobs 1585 and 1584 for the expected performance increase.

13 years ago- Merged RowVector and ReducedRowVector.
Tim King [Sat, 26 Feb 2011 23:32:34 +0000 (23:32 +0000)]
- Merged RowVector and ReducedRowVector.
- Renamed NonZeroIterator to const_iterator.
- Both of these changes are in response to the code review.

13 years agoCommit to fix bug 241 (improper "using namespace std" in a header). This caused...
Morgan Deters [Sat, 26 Feb 2011 22:19:47 +0000 (22:19 +0000)]
Commit to fix bug 241 (improper "using namespace std" in a header).  This caused a number of latent errors in sources and headers to come up.  Those are now fixed (by adding "using" or "std::" depending on the context).  Took the opportunity to bring many rewriter sources in line with coding conventions.

13 years agoMerge from theory-break-dependences branch to break Theory and TheoryEngine dependenc...
Morgan Deters [Sat, 26 Feb 2011 21:24:18 +0000 (21:24 +0000)]
Merge from theory-break-dependences branch to break Theory and TheoryEngine dependences; now, if you touch theory_engine.h, only a few things in theory need be recompiled (TheoryEngine, SharedTermManager, .... but no theory implementations), along with the PropEngine and SmtEngine.  If you touch a specific theory's .h file, only that theory must be recompiled (along with the TheoryEngine, since it uses traits, and SmtEngine, since it tells the TheoryEngine which theory implementations to use).

13 years agofix serious regression breakage (segfaults) caused by an off-by-one error in initiali...
Morgan Deters [Sat, 26 Feb 2011 21:18:14 +0000 (21:18 +0000)]
fix serious regression breakage (segfaults) caused by an off-by-one error in initialization of the expression variable statistics in last commit

13 years agoadding the variables count to the statistics in the expr manager
Dejan Jovanović [Sat, 26 Feb 2011 07:13:01 +0000 (07:13 +0000)]
adding the variables count to the statistics in the expr manager

13 years agoadding statistics about how many different kinds of expressions we have created in...
Dejan Jovanović [Sat, 26 Feb 2011 05:40:55 +0000 (05:40 +0000)]
adding statistics about how many different kinds of expressions we have created in the expression manager.
this is useful, for example, with --parse-only, to figure out a bit of problem structure

13 years ago- This commit adds some debugging information to ArithPriorityQueue.
Tim King [Fri, 25 Feb 2011 19:28:48 +0000 (19:28 +0000)]
- This commit adds some debugging information to ArithPriorityQueue.
- There was a missing break statement in ArithPriorityQueue. This addresses the bug discovered in the debug regression (http://goedel.cims.nyu.edu/regress-results/compare_jobs.php?job_id=1566&reference_id=1548&category=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,29&p=10).

13 years agoslicing manager is not breaking the old regressions, time to sync
Dejan Jovanović [Fri, 25 Feb 2011 02:11:14 +0000 (02:11 +0000)]
slicing manager is not breaking the old regressions, time to sync

13 years ago- Adds an additional round of checks for a conflict after the difference heuristic...
Tim King [Thu, 24 Feb 2011 23:00:08 +0000 (23:00 +0000)]
- Adds an additional round of checks for a conflict after the difference heuristic round has been completed.  This happens immediately before switching to the variable order round.

13 years ago- Adds an additional mode to ArithPriorityQueue, Collection. Collection is a mode...
Tim King [Thu, 24 Feb 2011 20:36:35 +0000 (20:36 +0000)]
- Adds an additional mode to ArithPriorityQueue, Collection. Collection is a mode where the heap structure is not maintained.  There is just a list of variables that may be inconsistent. This is used up until the simplex procedure is invoked.
- Misc. cleanup and renaming in ArithPriorityQueue.

13 years ago- Changes ArithPriorityQueue to use stl::vector<>'s plus stl's heap algorithms instea...
Tim King [Thu, 24 Feb 2011 16:52:15 +0000 (16:52 +0000)]
- Changes ArithPriorityQueue to use stl::vector<>'s plus stl's heap algorithms instead of stl's priority queue (which is really an stl vector plus the stl heap algorithms).  This offers more control of the underlying data structure.

13 years ago- Adds column based iterators.
Tim King [Tue, 22 Feb 2011 01:13:56 +0000 (01:13 +0000)]
- Adds column based iterators.

13 years ago- Adds the ArithPriorityQueue class. The ArithPriorityQueue class provides an abstrac...
Tim King [Mon, 21 Feb 2011 19:15:33 +0000 (19:15 +0000)]
- Adds the ArithPriorityQueue class. The ArithPriorityQueue class provides an abstraction to the previous priority queues representing the 2 different pivoting rules.

13 years ago- Adds the statistic d_avgNumRowsNotContainingOnPivot.
Tim King [Mon, 21 Feb 2011 00:22:18 +0000 (00:22 +0000)]
- Adds the statistic d_avgNumRowsNotContainingOnPivot.
- Removed a bug in row counting in row counting.

13 years agoChanges:
Tim King [Sat, 19 Feb 2011 00:22:34 +0000 (00:22 +0000)]
Changes:
- The Tableau is now in charge of managing what variables are basic in a unified manner. Specifically, TheoryArith::d_basicManager was merged into Tableau::d_basicVariables.

13 years agoChanges:
Tim King [Fri, 18 Feb 2011 23:28:19 +0000 (23:28 +0000)]
Changes:
- ArithVar is no longer an attribute
- RowVector's destructor reduces the row count of its variables upon.
- Tableau's destructor now free its rows instead of leaking memory.
- Added ability to convert ReducedRowVectors into equivalent Nodes.
- getValue() should work again.

13 years agoThis commit merges the branch branches/arithmetic/quick-row-has into trunk. quick...
Tim King [Thu, 17 Feb 2011 21:30:57 +0000 (21:30 +0000)]
This commit merges the branch branches/arithmetic/quick-row-has into trunk. quick-row-has has an optimization to make checking if a variable is in a row faster.

13 years agoThis commit is the promised clean up after removing row ejection.
Tim King [Thu, 17 Feb 2011 18:22:16 +0000 (18:22 +0000)]
This commit is the promised clean up after removing row ejection.

13 years agoRemoved ActivityMonitor from arithmetic. This was only used for row ejection, and...
Tim King [Thu, 17 Feb 2011 18:00:30 +0000 (18:00 +0000)]
Removed ActivityMonitor from arithmetic. This was only used for row ejection, and is now superfluous.

13 years agoRow ejection is now completely disabled. Another commit cleaning this one up will...
Tim King [Thu, 17 Feb 2011 17:46:31 +0000 (17:46 +0000)]
Row ejection is now completely disabled. Another commit cleaning this one up will follow shortly.

13 years agoRemoved vestigial normal form notes file from src/theory/arith/Makefile.am. Should...
Tim King [Thu, 17 Feb 2011 17:41:15 +0000 (17:41 +0000)]
Removed vestigial normal form notes file from src/theory/arith/Makefile.am. Should have been removed earlier.

13 years agosome unit tests to work on slicing
Dejan Jovanović [Thu, 17 Feb 2011 05:27:48 +0000 (05:27 +0000)]
some unit tests to work on slicing

13 years agoI replaced the pattern "x = x + y;" with "x += y;" in a few places in DeltaRational...
Tim King [Thu, 17 Feb 2011 01:10:38 +0000 (01:10 +0000)]
I replaced the pattern "x = x + y;" with "x += y;" in a few places in DeltaRational. This addresses a point that came up in the code review.

13 years agoUpdates based on the group code review of arithmetic on 2011-02-15. The only substan...
Tim King [Thu, 17 Feb 2011 01:02:06 +0000 (01:02 +0000)]
Updates based on the group code review of arithmetic on 2011-02-15.  The only substantive change is that UnatePropagator no longer uses attributes. The rest is comments and other beatification.

13 years agoDeleting depricated files.
Tim King [Thu, 17 Feb 2011 00:55:11 +0000 (00:55 +0000)]
Deleting depricated files.

13 years agogetting ready for slicing bitvectors
Dejan Jovanović [Thu, 17 Feb 2011 00:29:26 +0000 (00:29 +0000)]
getting ready for slicing bitvectors

13 years agoOverview of the changes:
Tim King [Wed, 16 Feb 2011 23:23:04 +0000 (23:23 +0000)]
Overview of the changes:
- Preparing to remove row ejection from the code base!
- Checks for conflicts immediately after a pivot to avoid potentially wasteful search.
- Added arithvar_set.h. This replaces ArithVarSet that was previously in the Tableau, and ArithVarDenseSet.
- Removes variables that have no preregistered bounds during presolve().
- Theory::isLeafOf() currently returns true for atoms. (I was unaware.) I modified Variable::isMember() to account for this exclude atoms.
- Added statistics all over the place.

This commit effects both boolean search and simplex search so expect running times to go all over the place. The time differences should be roughly as follows:
http://goedel.cims.nyu.edu/regress-results/compare_jobs.php?job_id=1486&reference_id=1447&p=10&category=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,29

13 years agoupdates for the rewriter, added some statistics
Dejan Jovanović [Wed, 16 Feb 2011 01:26:26 +0000 (01:26 +0000)]
updates for the rewriter, added some statistics

13 years agoReverses the order of the d_possiblyInconsistent queue. (It is that old termination...
Tim King [Mon, 14 Feb 2011 02:47:01 +0000 (02:47 +0000)]
Reverses the order of the d_possiblyInconsistent queue. (It is that old termination bug again. *le sigh*)

13 years ago3 heuristics were added to arithmetic. A heuristic for detecting an encoding of min...
Tim King [Sun, 13 Feb 2011 21:19:20 +0000 (21:19 +0000)]
3 heuristics were added to arithmetic. A heuristic for detecting an encoding of min added to static learning in LRA. A heuristic added for when the true branch and false branch are both constants (also in static learning). A heuristic for checking whether any variables begin in conflict before pivoting.

13 years agofix for build errors
Dejan Jovanović [Wed, 5 Jan 2011 19:12:54 +0000 (19:12 +0000)]
fix for build errors

13 years agoCommit for the theory engine and rewriter changes. Changes are substantial and not...
Dejan Jovanović [Wed, 5 Jan 2011 03:21:35 +0000 (03:21 +0000)]
Commit for the theory engine and rewriter changes. Changes are substantial and not yet finalized but I need to put it in to work further with the theory writers. Please check the files that you 'own'. Any comments or discussion is welcome. Further details will be coming in a follow up email later.

13 years agotls.h, rational.h, and integer.h are only re-generated if changed. this obviates...
Morgan Deters [Fri, 17 Dec 2010 23:09:15 +0000 (23:09 +0000)]
tls.h, rational.h, and integer.h are only re-generated if changed.  this obviates the need for a full rebuild just because you re-./configured.

13 years agominor fixes for correct doxygen output
Morgan Deters [Thu, 16 Dec 2010 00:36:53 +0000 (00:36 +0000)]
minor fixes for correct doxygen output

13 years agomake some CC module methods private that should not have been public
Morgan Deters [Tue, 14 Dec 2010 21:27:38 +0000 (21:27 +0000)]
make some CC module methods private that should not have been public

13 years agocongruence closure module now supports things other than APPLY_UF; ported from "array...
Morgan Deters [Tue, 14 Dec 2010 21:07:46 +0000 (21:07 +0000)]
congruence closure module now supports things other than APPLY_UF; ported from "arrays" branch to trunk

13 years agopermit PARAMETERIZED operators to be zero-ary
Morgan Deters [Tue, 14 Dec 2010 19:37:35 +0000 (19:37 +0000)]
permit PARAMETERIZED operators to be zero-ary

13 years agofix to static learning application in UF, resolves bug# 239
Morgan Deters [Tue, 14 Dec 2010 01:04:00 +0000 (01:04 +0000)]
fix to static learning application in UF, resolves bug# 239

14 years agoChangin the get() semantics to a CDQeue-sque semantics.
Dejan Jovanović [Wed, 24 Nov 2010 18:50:54 +0000 (18:50 +0000)]
Changin the get() semantics to a CDQeue-sque semantics.

14 years agoMerge from ufprop branch, including:
Morgan Deters [Fri, 19 Nov 2010 01:37:55 +0000 (01:37 +0000)]
Merge from ufprop branch, including:

* Theory::staticLearning() for statically adding new T-stuff before
  normal preprocessing.  UF's staticLearning() does transitivity of
  equality/iff, solving the diamonds.

* more aggressive T-propagation for UF

* new KEEP_STATISTIC macro to hide Theories from having to
  register/deregister statistics (and also has the advantage of
  keeping the statistic type, field name, and the 'tag' used to output
  the statistic in the same place---instead of scattered in the theory
  definition and constructor initializer list.  See documentation for
  KEEP_STATISTIC in src/util/stats.h for more of an explanation).

* more statistics for UF

* restart notifications from SAT (through TheoryEngine) via
  Theory::notifyRestart()

* StackingMap and UnionFind unit tests

* build fixes/adjustments

* code cleanup; minor other improvements

14 years agoadd statistics support information to --show-config
Morgan Deters [Fri, 19 Nov 2010 00:12:17 +0000 (00:12 +0000)]
add statistics support information to --show-config

14 years agosmall changes to documentation; also, '\''make doc'\'' doesn't build dot graphs ...
Morgan Deters [Thu, 18 Nov 2010 03:57:52 +0000 (03:57 +0000)]
small changes to documentation; also, '\''make doc'\'' doesn't build dot graphs (but nightly build system will produce them)

14 years agofix improper CongruenceClosureWhite test by merging from a uf branch; fixes the night...
Morgan Deters [Wed, 17 Nov 2010 07:22:35 +0000 (07:22 +0000)]
fix improper CongruenceClosureWhite test by merging from a uf branch; fixes the nightly test failure

14 years agoadd some stats to UF/CC
Morgan Deters [Wed, 17 Nov 2010 02:45:13 +0000 (02:45 +0000)]
add some stats to UF/CC

14 years agoThe "UF engineering issues" release, after much profiling.
Morgan Deters [Wed, 17 Nov 2010 01:39:37 +0000 (01:39 +0000)]
The "UF engineering issues" release, after much profiling.

* swap in backtracking data structures (that use and maintain their own
  undo stack) in some places instead of the usual Context-aware
  paradigm (MUCH faster).

* cosmetic changes to UF, CC modules.

14 years agoAdded Theory::presolve().
Tim King [Tue, 16 Nov 2010 21:11:11 +0000 (21:11 +0000)]
Added Theory::presolve().

14 years agoSmtEngine now fails with a ModalException if --incremental is not enabled
Morgan Deters [Tue, 16 Nov 2010 19:18:19 +0000 (19:18 +0000)]
SmtEngine now fails with a ModalException if --incremental is not enabled
but a push/pop or multiple query is attempted (previously it could give
incorrect answers)

Also, fix some multi-query and push-pop tests that had wrong answers, and
support a new "% COMMAND-LINE: " gesture in regression tests so that a
test can pass additional, specific command line flags it wants to run
with (here, --incremental).

Also fix mkbuilddir script for when it's called from contrib/switch-config.

14 years agofix function signatures
Morgan Deters [Tue, 16 Nov 2010 00:20:30 +0000 (00:20 +0000)]
fix function signatures

14 years agocleanup from today's commits: delegate as-yet-unimplemented prettyprinters in a bette...
Morgan Deters [Mon, 15 Nov 2010 23:58:41 +0000 (23:58 +0000)]
cleanup from today's commits: delegate as-yet-unimplemented prettyprinters in a better way; fix arith Makefile

14 years agoChanges to Solver and PropEngine to support lemmasOnDemand during solve but not yet...
Tim King [Mon, 15 Nov 2010 23:51:38 +0000 (23:51 +0000)]
Changes to Solver and PropEngine to support lemmasOnDemand during solve but not yet in d_checkSat.

14 years agoPretty-printer infrastructure created (in src/printer) and SMT-LIBv2 printer
Morgan Deters [Mon, 15 Nov 2010 22:57:14 +0000 (22:57 +0000)]
Pretty-printer infrastructure created (in src/printer) and SMT-LIBv2 printer
implemented.  This new infrastructure removes support for pretty-printing
(even in the AST language) an Expr with reference count 0.  Previously,
this was supported in a few places internally to the expr package, for
example in NodeBuilder.  (Now, a NodeBuilder cannot be prettyprinted, you
must extract the Node before printing it.)

14 years agoThis commit merges the arith-prop-opt branch into the main trunk. This was done by...
Tim King [Mon, 15 Nov 2010 21:15:45 +0000 (21:15 +0000)]
This commit merges the arith-prop-opt branch into the main trunk. This was done by way of the intermediate branch arith-prop-tmp. Both arith-prop-opt and arith-prop-tmp will now be phased out.

14 years agominor tweaks to last commit, testing infrastructure
Morgan Deters [Mon, 15 Nov 2010 20:24:35 +0000 (20:24 +0000)]
minor tweaks to last commit, testing infrastructure

14 years agofix some things with the build system (make dist, make install, make check)
Morgan Deters [Mon, 15 Nov 2010 20:08:17 +0000 (20:08 +0000)]
fix some things with the build system (make dist, make install, make check)

14 years agoSome bug fixes in the SAT for lemmas, and an experiment with a more complete (wr...
Dejan Jovanović [Fri, 12 Nov 2010 04:39:54 +0000 (04:39 +0000)]
Some bug fixes in the SAT for lemmas, and an experiment with a more complete (wr propagation) splitter in arithmetic.

14 years agomake addsourcedir executable
Morgan Deters [Thu, 11 Nov 2010 04:45:29 +0000 (04:45 +0000)]
make addsourcedir executable

14 years agoLemmas on demand work, push-pop, some cleanup.
Dejan Jovanović [Tue, 9 Nov 2010 21:57:06 +0000 (21:57 +0000)]
Lemmas on demand work, push-pop, some cleanup.

14 years agocommand-line flag to disable theory registration, also SMT-LIBv2 compliance (per...
Morgan Deters [Mon, 8 Nov 2010 23:37:36 +0000 (23:37 +0000)]
command-line flag to disable theory registration, also SMT-LIBv2 compliance (per SMT-LIB mailing list this afternoon)

14 years agocleanup, documentation, SMT-LIBv2 compliance
Morgan Deters [Mon, 8 Nov 2010 23:15:08 +0000 (23:15 +0000)]
cleanup, documentation, SMT-LIBv2 compliance

14 years agofix out-of-date version/copyright for minisats
Morgan Deters [Mon, 8 Nov 2010 03:27:48 +0000 (03:27 +0000)]
fix out-of-date version/copyright for minisats

14 years agoMoving Options fiddling to options.h
Christopher L. Conway [Fri, 5 Nov 2010 17:43:52 +0000 (17:43 +0000)]
Moving Options fiddling to options.h

14 years agocompetition mode implies --no-checking
Morgan Deters [Thu, 4 Nov 2010 21:01:31 +0000 (21:01 +0000)]
competition mode implies --no-checking

14 years agoMoving the post_mortem.py script out of contrib and into the cvc4 scripts directory.
Tim King [Thu, 4 Nov 2010 16:30:25 +0000 (16:30 +0000)]
Moving the post_mortem.py script out of contrib and into the cvc4 scripts directory.

14 years agoUpdates post_mortem.py script to be able to handle certain kinds of crashes and new...
Tim King [Thu, 4 Nov 2010 16:28:02 +0000 (16:28 +0000)]
Updates post_mortem.py script to be able to handle certain kinds of crashes and new statistics.

14 years agoThis commit adds the ejected and un-ejected statistics.
Tim King [Thu, 4 Nov 2010 16:26:40 +0000 (16:26 +0000)]
This commit adds the ejected and un-ejected statistics.

14 years agoAdds size() to RowVector.
Tim King [Wed, 3 Nov 2010 18:46:46 +0000 (18:46 +0000)]
Adds size() to RowVector.

14 years agoAdds statistics for the number of Uservariables and Slack variables used by arithmetic.
Tim King [Wed, 3 Nov 2010 18:42:28 +0000 (18:42 +0000)]
Adds statistics for the number of Uservariables and Slack variables used by arithmetic.

14 years agoAdds AverageStat to stats.h.
Tim King [Wed, 3 Nov 2010 01:07:09 +0000 (01:07 +0000)]
Adds AverageStat to stats.h.

14 years agosmall fix to debug segfaults
Morgan Deters [Sun, 31 Oct 2010 23:57:50 +0000 (23:57 +0000)]
small fix to debug segfaults

14 years agoenable dependence graphs in doxygen; fix lots of doxygen warnings, fix some documenta...
Morgan Deters [Sun, 31 Oct 2010 15:26:19 +0000 (15:26 +0000)]
enable dependence graphs in doxygen; fix lots of doxygen warnings, fix some documentation, and make it possible to "make doc" on a clean source tree (post-configure)

14 years agomaximize stack limit, handle SEGV signals on an alternate signal stack, and try to...
Morgan Deters [Sun, 31 Oct 2010 15:22:38 +0000 (15:22 +0000)]
maximize stack limit, handle SEGV signals on an alternate signal stack, and try to diagnose stack overflow

14 years agoAdds a hueristic from Alberto's thesis. For a fixed window the row count is used...
Tim King [Sat, 30 Oct 2010 19:18:36 +0000 (19:18 +0000)]
Adds a hueristic from Alberto's thesis. For a fixed window the row count is used to select which non-basic variable is a row in made basic.

14 years agoFix for a problem caused by using a != instead of == in generateConflictBelow()....
Tim King [Fri, 29 Oct 2010 21:10:46 +0000 (21:10 +0000)]
Fix for a problem caused by using a != instead of == in generateConflictBelow(). Resolves a bug introduced in -r1063.

14 years agoportability updates to build system
Morgan Deters [Fri, 29 Oct 2010 21:08:41 +0000 (21:08 +0000)]
portability updates to build system

14 years agoAdds a very small test that triggers a bug. The bug is from the commit for -r1063.
Tim King [Fri, 29 Oct 2010 20:57:50 +0000 (20:57 +0000)]
Adds a very small test that triggers a bug. The bug is from the commit for -r1063.

14 years agominor fixes as a result of review of Chris's getType() rewrite; also fix some macros...
Morgan Deters [Fri, 29 Oct 2010 19:44:03 +0000 (19:44 +0000)]
minor fixes as a result of review of Chris's getType() rewrite; also fix some macros to make various GCC versions happy

14 years agoFixes RowVector::has().
Tim King [Fri, 29 Oct 2010 15:51:25 +0000 (15:51 +0000)]
Fixes RowVector::has().

14 years agoFactors out the QF_LRA decision procedure from TheoryArith and puts this into its...
Tim King [Fri, 29 Oct 2010 00:45:10 +0000 (00:45 +0000)]
Factors out the QF_LRA decision procedure from TheoryArith and puts this into its own class SimplexDecisionProcedure. Implements about 1/2 of the pivoting rule from Alberto's thesis (section2.5.3).

14 years agoThe Row implementation has no been replaced by RowVector and ReducedRowVector. A...
Tim King [Thu, 28 Oct 2010 21:46:44 +0000 (21:46 +0000)]
The Row implementation has no been replaced by RowVector and ReducedRowVector.  A RowVector is an array of ArithVar and Rational pairs. (This replaces a map based implementation in Row.) ReducedRowVector is a RowVector with a notion of having a basic variable.  The Tableau is now a collection of ReduceRowVector's.  A major difference between ReducedRowVectors and Rows is that the iterator now includes the basic variable and its coefficient (always -1). Before only nonbasic members were accessible by the iterator.

14 years agoChanging NodeBuilder::debugCheckType() to maybeCheckType()
Christopher L. Conway [Thu, 28 Oct 2010 21:12:02 +0000 (21:12 +0000)]
Changing NodeBuilder::debugCheckType() to maybeCheckType()
Changing NodeManager/ExprManager constructors to take Options

14 years agoDisabling bottom-up algorithm in NodeManager::getType() when type checking
Christopher L. Conway [Thu, 28 Oct 2010 20:05:32 +0000 (20:05 +0000)]
Disabling bottom-up algorithm in NodeManager::getType() when type checking
is not requested or eager type checking is enabled

14 years agofix confusing CXXTEST configure message, indicating success at finding cxxtest when...
Morgan Deters [Thu, 28 Oct 2010 06:20:17 +0000 (06:20 +0000)]
fix confusing CXXTEST configure message, indicating success at finding cxxtest when it wasn't found.

14 years agoSmall change to documentation in NodeManager::getType
Christopher L. Conway [Wed, 27 Oct 2010 22:53:09 +0000 (22:53 +0000)]
Small change to documentation in NodeManager::getType

14 years agoSlightly more efficient version of getType
Christopher L. Conway [Wed, 27 Oct 2010 22:53:03 +0000 (22:53 +0000)]
Slightly more efficient version of getType

14 years agomake dist-building more pleasant (put .tar.gz in builds/ directory)
Morgan Deters [Wed, 27 Oct 2010 20:13:31 +0000 (20:13 +0000)]
make dist-building more pleasant (put .tar.gz in builds/ directory)

14 years agoChanging dependency info in README
Christopher L. Conway [Wed, 27 Oct 2010 20:10:16 +0000 (20:10 +0000)]
Changing dependency info in README

14 years agoModifying getType to use a non-recursive algorithm (Fixes: #228)
Christopher L. Conway [Wed, 27 Oct 2010 20:10:12 +0000 (20:10 +0000)]
Modifying getType to use a non-recursive algorithm (Fixes: #228)

14 years agofix test Makefile
Morgan Deters [Wed, 27 Oct 2010 06:02:04 +0000 (06:02 +0000)]
fix test Makefile

14 years ago"make dist" fixes; a distribution tarball can now build and pass tests. "make distche...
Morgan Deters [Wed, 27 Oct 2010 05:48:49 +0000 (05:48 +0000)]
"make dist" fixes; a distribution tarball can now build and pass tests. "make distcheck" fails only because one of the "clean" targets needs work in test/unit

14 years agosupport focus on a particular subpackage (e.g. "expr")
Morgan Deters [Wed, 27 Oct 2010 05:29:39 +0000 (05:29 +0000)]
support focus on a particular subpackage (e.g. "expr")

14 years agointer-package dependence graph generation (in dot format)
Morgan Deters [Wed, 27 Oct 2010 05:02:29 +0000 (05:02 +0000)]
inter-package dependence graph generation (in dot format)

14 years agoGetValueCommand now gives a TUPLE as output, with the first operand the input express...
Morgan Deters [Tue, 26 Oct 2010 19:24:09 +0000 (19:24 +0000)]
GetValueCommand now gives a TUPLE as output, with the first operand the input expression and the second the value (resolves bug 227)

14 years agoCleaning up some header files
Christopher L. Conway [Tue, 26 Oct 2010 18:17:13 +0000 (18:17 +0000)]
Cleaning up some header files