Morgan Deters [Thu, 8 Dec 2011 19:23:45 +0000 (19:23 +0000)]
Disable a BV rewriter statistic (after checking with Liana) that was static,
and thus caused big problems with programs that create two SmtEngines in
one process.
If we need state like this in the rewriters, we'll need to make them
nonstatic.
Morgan Deters [Tue, 6 Dec 2011 02:01:06 +0000 (02:01 +0000)]
LemmaStatus changes, as agreed to during 12/2 meeting.
Morgan Deters [Tue, 6 Dec 2011 00:38:33 +0000 (00:38 +0000)]
oops, removing some integer operations that leaked in (they aren't part of trunk yet)
Morgan Deters [Tue, 6 Dec 2011 00:34:32 +0000 (00:34 +0000)]
fix errors in smt-lib2 output; needed for debugging
Morgan Deters [Mon, 5 Dec 2011 21:11:19 +0000 (21:11 +0000)]
change short-circuiting behavior of Command execution in the main driver; allows a (limited) form of error recovery, matching what we had previously
Morgan Deters [Fri, 2 Dec 2011 00:35:32 +0000 (00:35 +0000)]
Error detection is different now---with new Command infrastructure, exceptions are not thrown outside the library. Reflect this in the exit code of the driver. Fixes a bug found by Tim among the nightly regressions.
Also improved error reporting if antlr is unavailable and the parsers need to be generated.
Morgan Deters [Wed, 30 Nov 2011 22:43:12 +0000 (22:43 +0000)]
disable bug288.smt so that "make check" goes through---pending integers merge, see bug #288
Morgan Deters [Wed, 30 Nov 2011 22:41:02 +0000 (22:41 +0000)]
fix linking errors on oneiric
Tim King [Wed, 30 Nov 2011 20:03:00 +0000 (20:03 +0000)]
Simplified bug288.smt to reflect the problem in integers better.
Tim King [Wed, 30 Nov 2011 18:42:05 +0000 (18:42 +0000)]
Added a failing regression test corresponding to bug 289.
Tim King [Wed, 30 Nov 2011 18:35:07 +0000 (18:35 +0000)]
Adding a failing UFLIA benchmark corresponding to bug #288.
Tim King [Tue, 29 Nov 2011 21:11:45 +0000 (21:11 +0000)]
Merging the branch branches/arithmetic/shared-terms into trunk. Arithmetic now supports propagating equalities when a slack variable corresponding to a difference of shared terms must be 0. Similarly disequalities are propagated when these variables cannot be zero.
Morgan Deters [Sat, 26 Nov 2011 23:54:48 +0000 (23:54 +0000)]
Fix Java JNI installation path
Morgan Deters [Tue, 22 Nov 2011 16:26:16 +0000 (16:26 +0000)]
fix module name for CVC4 jar file; part of the fix for the Debian package build failure last night
Morgan Deters [Tue, 22 Nov 2011 05:17:55 +0000 (05:17 +0000)]
More language bindings work:
* with a patched SWIG, the ocaml bindings build correctly.
** I will provide my patch to the SWIG dev team.
* fixed some class interfaces to play more nicely with SWIG.
* php, perl, tcl now work; examples added.
* improved binding module building and installation.
Also:
Stop #defining NULL ((void*) 0). This has been in cvc4_public.h for
a long, long time, I forget why I added it in the first place, and
it's a very, very bad idea. In C++, certain things are permitted
for NULL that aren't permitted for ((void*) 0), like for instance
implicit conversion to any pointer type. We didn't see an issue
here (until now, when interfacing with SWIG), because GCC is usually
pretty smart at working around such a broken #definition of NULL.
But that's fragile.
New exception-free Command architecture. Previously, some command
invocations were wrapped in a try {} catch() {} and printed out an
error. This is much more consistent now. Each Command invocation
results in a CommandStatus. The status can be "unsupported",
"error", or "success" (these are each derived classes, though, not
strings, so that they can be easily printed in a language-specific
way... e.g., in SMT-LIBv2, they are printed in a manner consistent
with the spec, and "success" is not printed if the print-success
option is off.) All Command functionality are now no-throw
functions, which @cconway reports is a Good Thing for Google
(where all C++ exceptions are suspect), and also I think is much
cleaner than the old way in this instance.
Added an --smtlib2 option that enables an "SMT-LIBv2 compliance
mode"---really it just sets a few other options like strictParsing,
inputLanguage, and printSuccess. In the future we might put other
options into a compliance mode, or we might choose to make it the
default.
Morgan Deters [Wed, 16 Nov 2011 14:19:16 +0000 (14:19 +0000)]
Fix "make dist". Fixes to python and ruby bindings; ruby example written. They should both work out of the box, now, with swig 2.0.4 at least. "make install" likely still needs to be adjusted to install them sensibly.
Morgan Deters [Wed, 16 Nov 2011 03:47:25 +0000 (03:47 +0000)]
Addressed many of the concerns raised in the public interface review of CVC4 Datatypes (bug #283) by Chris Conway. Thanks, Chris!
Morgan Deters [Wed, 16 Nov 2011 01:06:57 +0000 (01:06 +0000)]
fix to build system for java bindings
Morgan Deters [Wed, 16 Nov 2011 00:48:42 +0000 (00:48 +0000)]
* Applying Andy's fix for datatypes bug #286; thanks for the quick work, Andy!
* Also some better configure script wording
Morgan Deters [Tue, 15 Nov 2011 22:34:18 +0000 (22:34 +0000)]
Bindings work (ocaml bindings are now sort of working); also minor cleanup
Morgan Deters [Tue, 15 Nov 2011 01:32:27 +0000 (01:32 +0000)]
additional minor changes to get python binding on better footing
Morgan Deters [Tue, 15 Nov 2011 01:03:34 +0000 (01:03 +0000)]
fixes for python language binding, added python example
Morgan Deters [Mon, 14 Nov 2011 20:12:32 +0000 (20:12 +0000)]
public tests need to be linked against gmp/cln explicitly---looks like a subtle linker change in Ubuntu 11.10 oneiric :-(
Morgan Deters [Sun, 6 Nov 2011 02:09:06 +0000 (02:09 +0000)]
datatype stuff in compatibility interface implemented
Morgan Deters [Sat, 5 Nov 2011 20:16:06 +0000 (20:16 +0000)]
Context::ScopedPush implemented (in support of theory speculation, like upcoming internal branch-&-bound for integers)
Morgan Deters [Fri, 4 Nov 2011 16:52:06 +0000 (16:52 +0000)]
STRING_TYPE and CONST_STRING and associate type infrastructure implemented.
Morgan Deters [Wed, 2 Nov 2011 13:55:48 +0000 (13:55 +0000)]
Only print a shortlist of most-commonly-used options on option processing errors; reduces clutter, increases usability
Morgan Deters [Wed, 2 Nov 2011 13:05:11 +0000 (13:05 +0000)]
give an option error if the user specifies --proof in a non-proof-enabled build
Morgan Deters [Wed, 2 Nov 2011 01:48:41 +0000 (01:48 +0000)]
fully implement the always-check-again-after-the-output-channel-is-used fix for bug #275. will finally close #275.
Morgan Deters [Wed, 2 Nov 2011 00:40:40 +0000 (00:40 +0000)]
Sometimes antlr decides to generate lexers and parsers in a different directory than specified by "-o dir" ?! Fix that by specifying "-fo dir".
Morgan Deters [Wed, 2 Nov 2011 00:01:48 +0000 (00:01 +0000)]
better Integer asserts when there's overflow on conversion to unsigned long / long
Morgan Deters [Tue, 1 Nov 2011 17:08:55 +0000 (17:08 +0000)]
Improvements to header installation on user machines. Internally, we can
still write, for example:
#include "expr/node.h"
but public CVC4 headers, upon installation to /usr/include/cvc4 (or wherever),
have such #includes rewritten automatically to:
#include <cvc4/expr/node.h>
Morgan Deters [Mon, 31 Oct 2011 23:56:07 +0000 (23:56 +0000)]
fixes to assertions in GMP to match CLN behavior
Tim King [Mon, 31 Oct 2011 21:43:11 +0000 (21:43 +0000)]
Added assertions to the CLN implementation of Integer for getLong() and getUnsignedLong().
Morgan Deters [Mon, 31 Oct 2011 21:25:07 +0000 (21:25 +0000)]
another make distclean fix
Morgan Deters [Mon, 31 Oct 2011 21:01:13 +0000 (21:01 +0000)]
fixes to "make distclean" and "make maintainerclean"
Morgan Deters [Mon, 31 Oct 2011 19:32:55 +0000 (19:32 +0000)]
fix to "make install"
Morgan Deters [Sat, 29 Oct 2011 19:09:06 +0000 (19:09 +0000)]
fix some doxygen warnings
Morgan Deters [Sat, 29 Oct 2011 18:22:38 +0000 (18:22 +0000)]
support for proof regressions in other parts of the test tree
Morgan Deters [Sat, 29 Oct 2011 08:11:12 +0000 (08:11 +0000)]
fix unit tests
Morgan Deters [Sat, 29 Oct 2011 05:21:49 +0000 (05:21 +0000)]
Support for SMT-LIBv2 (get-proof), CVC-style DUMP_PROOF command, SmtEngine::getProof(), a few other things..
Morgan Deters [Fri, 28 Oct 2011 22:08:55 +0000 (22:08 +0000)]
proof regressions
Morgan Deters [Fri, 28 Oct 2011 20:30:24 +0000 (20:30 +0000)]
* ability to output NodeBuilders without first converting them to Nodes---useful for debugging.
* language-dependent Node::toString()
* some minor proof-related cleanup
Liana Hadarean [Fri, 28 Oct 2011 19:24:38 +0000 (19:24 +0000)]
merged the proofgen3 branch into trunk:
- can now output LFSC checkable resolution proofs
- added configuration option --enable-proof
- added command line argument --proof
To turn proofs on build with proofs enabled and run with --proof.
Tim King [Fri, 28 Oct 2011 18:35:27 +0000 (18:35 +0000)]
Adding a check in Polynomial::parsePolynomial to better enforce the arithmetic normal form when assertions are enabled.
Kshitij Bansal [Tue, 25 Oct 2011 07:40:44 +0000 (07:40 +0000)]
Initialize resource limit and millisecond limit options
Morgan Deters [Sun, 23 Oct 2011 00:45:57 +0000 (00:45 +0000)]
Implement changes from yesterday morning's meeting (10/21/2011):
* OutputChannel::lemma() now returns an unsigned int. This facility isn't functional yet, but the signature is there. For now, it always returns the current user level (which is "correct" from the interface point of view, but not what we want).
* Pseudobooleans disabled. This should fix some quantifier benchmarks Andy's been working with on the quantifiers2 branch.
* --limit / --time-limit options renamed --rlimit and --tlimit.
There may be slowdown from disabling pseudobooleans.
Morgan Deters [Fri, 21 Oct 2011 04:44:14 +0000 (04:44 +0000)]
some printing and parser fixes for problems recently uncovered
Morgan Deters [Fri, 21 Oct 2011 04:25:19 +0000 (04:25 +0000)]
add gcc version information to Configuration, and warn when building with v4.5.1 which has a buggy optimizer (resolves bug #266)
Morgan Deters [Thu, 20 Oct 2011 17:40:26 +0000 (17:40 +0000)]
add support for QF_AUFLIA and QF_AUFLIRA logic strings in SMT inputs, for testing
Morgan Deters [Wed, 19 Oct 2011 23:36:21 +0000 (23:36 +0000)]
fix configure step on Ubuntu oneiric (11.10)-- related to bug #284
Morgan Deters [Wed, 19 Oct 2011 21:35:50 +0000 (21:35 +0000)]
fix bug #264: competition / other static library builds when readline isn't available
Tim King [Wed, 19 Oct 2011 18:50:41 +0000 (18:50 +0000)]
Adding support for QF_UFLIA to the smt2 parser.
Tim King [Wed, 19 Oct 2011 17:25:00 +0000 (17:25 +0000)]
Merging the branch branches/arithmetic/push-pop-support from r2247 to r2256 into trunk. Arithmetic should now be closer to being able to support push and pop.
Dejan Jovanović [Mon, 17 Oct 2011 03:12:17 +0000 (03:12 +0000)]
Sharing work
Morgan Deters [Thu, 13 Oct 2011 15:27:27 +0000 (15:27 +0000)]
fix make dist
Morgan Deters [Thu, 13 Oct 2011 04:14:38 +0000 (04:14 +0000)]
Interruption, time-out, and deterministic time-out ("resource-out") features.
Details here: http://goedel.cims.nyu.edu/wiki/Meeting_Minutes_-_October_14,_2011#Resource.2Ftime_limiting_API
This will need more work, but it's a start.
Also implemented TheoryEngine::properPropagation().
Other minor things.
Morgan Deters [Fri, 7 Oct 2011 14:57:38 +0000 (14:57 +0000)]
Some new Datatype public functionality, as per Chris Conway's suggestions on the dev mailing list.
Morgan Deters [Thu, 6 Oct 2011 00:09:25 +0000 (00:09 +0000)]
don't build language bindings unless expressly requested with --enable-language-bindings
Morgan Deters [Wed, 5 Oct 2011 23:58:57 +0000 (23:58 +0000)]
Reverting a fix from earlier today that fixed a Mac OS warning but completely broke Linux. :-(
Morgan Deters [Wed, 5 Oct 2011 23:51:57 +0000 (23:51 +0000)]
ensureLiteral() in CNF stream to support Andy's quantifiers work; an update to model gen on booleans; and a little cleanup
Morgan Deters [Wed, 5 Oct 2011 19:03:23 +0000 (19:03 +0000)]
minor visibility fixes
Morgan Deters [Wed, 5 Oct 2011 17:52:06 +0000 (17:52 +0000)]
remove some debugging code that slowed down last night's regressions
Tim King [Tue, 4 Oct 2011 22:21:55 +0000 (22:21 +0000)]
Disabling the variable removal hueristic by default.
Morgan Deters [Tue, 4 Oct 2011 16:16:02 +0000 (16:16 +0000)]
also add test case
Morgan Deters [Tue, 4 Oct 2011 16:15:47 +0000 (16:15 +0000)]
fixes to context-dependent caching substitutions
Morgan Deters [Tue, 4 Oct 2011 15:48:03 +0000 (15:48 +0000)]
add a guard for history saving, to enable building without GNU history library
Morgan Deters [Tue, 4 Oct 2011 14:40:01 +0000 (14:40 +0000)]
compatibility, bindings
Morgan Deters [Tue, 4 Oct 2011 14:36:57 +0000 (14:36 +0000)]
cvc3 compatibility layer; and another libantlr3c v3.4 incompatibility fix
Morgan Deters [Tue, 4 Oct 2011 06:25:36 +0000 (06:25 +0000)]
compat layer cleanup
Morgan Deters [Tue, 4 Oct 2011 01:54:38 +0000 (01:54 +0000)]
oops, one more fix, hopefully the last
Morgan Deters [Tue, 4 Oct 2011 01:42:45 +0000 (01:42 +0000)]
Yet Another Antlr3 Mod---this time, all my fault: for configuration auto-detection of libantlr3c, I chose an innocent-looking function that was present in both versions. But it's signature had changed, breaking source compatibility in both directions. Just like the other function that started the whole mess. Silly me.
Morgan Deters [Tue, 4 Oct 2011 01:25:35 +0000 (01:25 +0000)]
Oh, here's another cute compatibility fix for libantlr3c 3.4-beta4. They #define true and false to their own ANTLR3_TRUE and ANTLR3_FALSE, wreaking havoc on our parsers. I'm really fed up with this package.
Morgan Deters [Tue, 4 Oct 2011 01:06:41 +0000 (01:06 +0000)]
mimicking Chris's recent contribution to QueryResult in CVC3 in the compatibility layer
Morgan Deters [Tue, 4 Oct 2011 00:59:29 +0000 (00:59 +0000)]
more fixes for libantlr3c v3.4
Morgan Deters [Tue, 4 Oct 2011 00:26:35 +0000 (00:26 +0000)]
support for configure-discovery of antlr3-3.4-beta4
Morgan Deters [Mon, 3 Oct 2011 22:07:38 +0000 (22:07 +0000)]
user push/pop support in minisat and simplification; also bindings work
Morgan Deters [Mon, 3 Oct 2011 18:24:57 +0000 (18:24 +0000)]
Importing Chris's recent changes to CVC3's ValidityChecker into the compatibility layer
Morgan Deters [Fri, 30 Sep 2011 23:35:31 +0000 (23:35 +0000)]
fix to CNF undoTranslate(), to support incrementality
Morgan Deters [Fri, 30 Sep 2011 23:20:23 +0000 (23:20 +0000)]
forgot to put some things in the distro
Morgan Deters [Fri, 30 Sep 2011 23:01:58 +0000 (23:01 +0000)]
interfaces fixes and cleanups...and examples of each interface!
Morgan Deters [Fri, 30 Sep 2011 03:33:56 +0000 (03:33 +0000)]
more push/pop infrastructure, some SAT stuff
Morgan Deters [Fri, 30 Sep 2011 02:29:00 +0000 (02:29 +0000)]
fixes to incremental simplification, cnf routines, other stuff in preparation of user push/pop in SAT solver
Morgan Deters [Thu, 29 Sep 2011 18:38:00 +0000 (18:38 +0000)]
compatibility work, documentation
Morgan Deters [Thu, 29 Sep 2011 06:40:27 +0000 (06:40 +0000)]
build system fixes
Morgan Deters [Thu, 29 Sep 2011 05:15:30 +0000 (05:15 +0000)]
Some base infrastructure for user push/pop; a few bugfixes to user push/pop and model gen also.
I also expect this commit to fix bug #273.
No performance change is expected on regressions with this commit, see
http://goedel.cims.nyu.edu/regress-results/compare_jobs.php?job_id=2871&reference_id=2863
Morgan Deters [Thu, 29 Sep 2011 02:24:28 +0000 (02:24 +0000)]
some test fixes
Morgan Deters [Wed, 28 Sep 2011 23:57:12 +0000 (23:57 +0000)]
another make dist fix for java compat bindings
Morgan Deters [Wed, 28 Sep 2011 23:53:57 +0000 (23:53 +0000)]
variety of visibility fixes (should clean up some of the many warnings on MacOS-production-dynamic builds)
Morgan Deters [Wed, 28 Sep 2011 22:38:31 +0000 (22:38 +0000)]
CVC4::Integer was not marked CVC4_PUBLIC, causing dynamic link errors on MacOS in production builds. Fixed.
Morgan Deters [Wed, 28 Sep 2011 22:32:05 +0000 (22:32 +0000)]
fixes for make dist ; make install
Morgan Deters [Wed, 28 Sep 2011 19:46:53 +0000 (19:46 +0000)]
better fix for #281, also fix issue with command line options not existing on older g++en, like Apple's 4.2 on Snow Leopard.
Morgan Deters [Wed, 28 Sep 2011 18:46:29 +0000 (18:46 +0000)]
Regular expressions in shell scripts on MacOS are inconsistent... again. :-( Fixing a problem with Debug_tags and Trace_tags, closes bug #281
Morgan Deters [Wed, 28 Sep 2011 00:45:46 +0000 (00:45 +0000)]
removed "typename" keyword (fix to bug 280)
Morgan Deters [Tue, 27 Sep 2011 00:34:30 +0000 (00:34 +0000)]
more interface work; adding legacy C interface
Morgan Deters [Sun, 25 Sep 2011 08:18:45 +0000 (08:18 +0000)]
first crack at compatibility java interface (not built by default)
Morgan Deters [Sat, 24 Sep 2011 18:04:08 +0000 (18:04 +0000)]
Fix to building and linking for unit tests. (This should fix the segfaulting units in optimized-dynamic. The problem was that the code incorrectly determined the address of one of the thread-scoped global variables, and I think it's because the same library was linked twice into the unit test in two different ways, confusing the runtime support code.)
Morgan Deters [Fri, 23 Sep 2011 23:37:42 +0000 (23:37 +0000)]
interface cleanup, java bindings work
Morgan Deters [Wed, 21 Sep 2011 05:02:58 +0000 (05:02 +0000)]
Java binding now working. Some interface types still need some work (e.g. iterators aren't functional). Also, output isn't very flexible yet, as I told SWIG to ignore all the operator<<'s.
Morgan Deters [Wed, 21 Sep 2011 03:26:13 +0000 (03:26 +0000)]
considerable bindings interface work, some improvements to build