Tim King [Wed, 24 Oct 2012 21:28:52 +0000 (21:28 +0000)]
Fix for systems that do not have the MAP_FILE macro defined.
Dejan Jovanović [Wed, 24 Oct 2012 19:41:33 +0000 (19:41 +0000)]
fix for bug 429
* not all asserted units were tracked in the user trail, moved the tracking into uncheckedEnqueue
Dejan Jovanović [Wed, 24 Oct 2012 19:14:01 +0000 (19:14 +0000)]
two smaller random pure LRA push-pop cases that fail
dejan@church:~/workspace/fuzz/problems$ ./check.sh arith_lra_01.smt2
z3: sat sat sat sat sat sat sat sat sat unsat sat sat sat sat sat unsat sat
cvc4: sat sat sat sat sat sat sat sat sat unsat sat sat sat sat sat unsat unsat
dejan@church:~/workspace/fuzz/problems$ ./check.sh arith_lra_02.smt2
z3: sat sat sat sat sat sat sat sat sat sat sat sat sat sat sat unsat unsat sat
cvc4: sat sat sat sat sat sat sat sat sat sat sat sat sat sat sat unsat unsat unsat
Andrew Reynolds [Wed, 24 Oct 2012 01:06:15 +0000 (01:06 +0000)]
efficient e-matching now specific to rewrite rules
Andrew Reynolds [Tue, 23 Oct 2012 23:40:29 +0000 (23:40 +0000)]
more major cleanup of quantifiers code, separating rewrite-rules-specific code from quantifiers-specific code
Andrew Reynolds [Tue, 23 Oct 2012 22:27:38 +0000 (22:27 +0000)]
fixed problem with datatypes giving incorrect explanations, now corrected and improved. this update fixes bug 428, also changes the result for 2 benchmarks where tcc in cvc3 fails (cvc4 had previously had been answering correctly by accident).
Clark Barrett [Tue, 23 Oct 2012 20:05:38 +0000 (20:05 +0000)]
More debugging info, small changes to model builder
Morgan Deters [Tue, 23 Oct 2012 20:04:18 +0000 (20:04 +0000)]
some fixes for "make examples" and "make install-examples" when invoked from tarballs (non-subversion-checkouts); should fix "INSTALL" failure we saw in last night's build email
Clark Barrett [Tue, 23 Oct 2012 20:02:56 +0000 (20:02 +0000)]
Added reads that were missing in collectModelInfo
Liana Hadarean [Tue, 23 Oct 2012 19:46:55 +0000 (19:46 +0000)]
fixed TheoryBV collectModel info to check for shared terms; this seems to fix bug424
Tim King [Tue, 23 Oct 2012 19:41:12 +0000 (19:41 +0000)]
The contrib/get-antlr-3.4 script:
- Has no outdated reference to /usr/share/java/stringtemplate.jar (as discussed on the mailing list).
- Attempts to determine if the computer is 64 or 32 bit and configure antlr appropriately.
- Warns the user about it's guess.
- Tells the user how to correct an incorrect guess.
Andrew Reynolds [Tue, 23 Oct 2012 15:28:24 +0000 (15:28 +0000)]
more updates to inst gen: fixed partial instantiations, recognize duplicate defaults for uf
Morgan Deters [Mon, 22 Oct 2012 20:09:08 +0000 (20:09 +0000)]
fix parser generation in distributed tarballs (should fix bug #427)
Morgan Deters [Mon, 22 Oct 2012 20:01:54 +0000 (20:01 +0000)]
one more incorrect #line fixed
Morgan Deters [Mon, 22 Oct 2012 18:58:01 +0000 (18:58 +0000)]
fix misleading comment in example
Morgan Deters [Mon, 22 Oct 2012 18:38:42 +0000 (18:38 +0000)]
fix installation of certain header files
Morgan Deters [Mon, 22 Oct 2012 18:04:31 +0000 (18:04 +0000)]
add bug 425 models regression; fix mac-build execute permission
Tim King [Fri, 19 Oct 2012 19:26:31 +0000 (19:26 +0000)]
Fix for model building with shared terms for arithmetic.
(this commit was certified error- and warning-free by the test-and-commit script.)
Kshitij Bansal [Fri, 19 Oct 2012 19:10:42 +0000 (19:10 +0000)]
Fix problem with incremental with portfolio. Fixes bug 420.
(this commit was certified error- and warning-free by the test-and-commit script.)
Liana Hadarean [Fri, 19 Oct 2012 18:38:54 +0000 (18:38 +0000)]
BV theory model fix
Kshitij Bansal [Fri, 19 Oct 2012 00:56:11 +0000 (00:56 +0000)]
--fallback-sequential / --no-fallback-sequential option
closes bug 419, fix typo, fix warning
(this commit was certified error- and warning-free by the test-and-commit script.)
Andrew Reynolds [Wed, 17 Oct 2012 02:59:07 +0000 (02:59 +0000)]
first working version of new inst-gen-style quantifier instantiation technique for fmf (--fmf-new-inst-gen), minor cleanup
Andrew Reynolds [Tue, 16 Oct 2012 21:59:50 +0000 (21:59 +0000)]
more cleanup of quantifiers code
Andrew Reynolds [Tue, 16 Oct 2012 17:10:47 +0000 (17:10 +0000)]
first draft of new inst gen method (still with bugs), some cleanup of quantifiers code
Morgan Deters [Sun, 14 Oct 2012 00:08:52 +0000 (00:08 +0000)]
fix #line number warnings (sorry!)
Clark Barrett [Fri, 12 Oct 2012 21:36:06 +0000 (21:36 +0000)]
Added assertions and tracing code for collectModelInfo phase
Clark Barrett [Fri, 12 Oct 2012 12:38:54 +0000 (12:38 +0000)]
Latest changes to model code
Morgan Deters [Thu, 11 Oct 2012 21:17:12 +0000 (21:17 +0000)]
Fix bug 421, again, and add a second, independent test case for the same
with --check-models (which caused the same bug, for a different reason,
due to some unintended interaction between the checkModel() function and
the UserContext, which rolled back the Model object. (Groan...)
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Thu, 11 Oct 2012 17:32:45 +0000 (17:32 +0000)]
minor changes in wording for "cvc4 --version", and point to the COPYING file for full info
Morgan Deters [Thu, 11 Oct 2012 17:06:16 +0000 (17:06 +0000)]
Standardizing copyright notice. Touches **ALL** sources, guys, sorry.. it's
just the header comments at the top, though. Don't update to this rev if
you don't have time for a complete rebuild, and exclude this rev if you
want to see what's new across a range of commits.
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Thu, 11 Oct 2012 13:19:09 +0000 (13:19 +0000)]
Fix wording on GPL in legal notices; also remove an unnecessary source dependence.
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Thu, 11 Oct 2012 12:15:59 +0000 (12:15 +0000)]
compliance note
Morgan Deters [Wed, 10 Oct 2012 21:20:40 +0000 (21:20 +0000)]
Abstract values for SMT-LIB.
Also fix bug 421 relating to incrementality and models.
(this commit was certified error- and warning-free by the test-and-commit script.)
Andrew Reynolds [Wed, 10 Oct 2012 19:24:37 +0000 (19:24 +0000)]
cleanup up some static data members in the quantifiers code
Dejan Jovanović [Wed, 10 Oct 2012 19:07:16 +0000 (19:07 +0000)]
fixing the cvc bv parser and typechecker
Kshitij Bansal [Tue, 9 Oct 2012 22:24:35 +0000 (22:24 +0000)]
typo
Kshitij Bansal [Tue, 9 Oct 2012 22:23:32 +0000 (22:23 +0000)]
bugfix: isQuantified, bugfix: flush
Andrew Reynolds [Tue, 9 Oct 2012 21:59:58 +0000 (21:59 +0000)]
fixed datatypes rewriter to detect clashes between non-datatype subfields. cleaned up model code, TheoryModel::getValue is now const.
Morgan Deters [Tue, 9 Oct 2012 20:22:01 +0000 (20:22 +0000)]
* make Model class private (as discussed at meeting today)
* fix minor issue with s-expr parsing in CVC and SMT grammars
* other minor things
(this commit was certified error- and warning-free by the test-and-commit script.)
Liana Hadarean [Tue, 9 Oct 2012 20:05:46 +0000 (20:05 +0000)]
fixed bv rewriter to evaluate bvurem over constants
Clark Barrett [Tue, 9 Oct 2012 19:22:17 +0000 (19:22 +0000)]
More fixes to model code
Andrew Reynolds [Tue, 9 Oct 2012 17:44:02 +0000 (17:44 +0000)]
made datatypes rewrite incorrect selectors to ground term. this feature can be turned off by --disable-dt-rewrite-error-sel. changed regression answer to reflect new default behavior.
Morgan Deters [Tue, 9 Oct 2012 16:54:02 +0000 (16:54 +0000)]
usability: remove --no-interactive from --smtlib option
Dejan Jovanović [Tue, 9 Oct 2012 14:23:19 +0000 (14:23 +0000)]
fix for bug 415
Morgan Deters [Tue, 9 Oct 2012 13:22:28 +0000 (13:22 +0000)]
* Add assertion in TheoryModel code to ensure we don't get inconsistent
substitutions for solved variables. Related to bug 418 (and might
resolve it).
* Respect phase-locking in Minisat (one phase-saving site was unguarded).
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Tue, 9 Oct 2012 11:58:08 +0000 (11:58 +0000)]
fix beta reduction in both preRewrite() *and* postRewrite(), related to bug 417. oops. also fix spelling on "rewritting" test
Morgan Deters [Tue, 9 Oct 2012 04:53:43 +0000 (04:53 +0000)]
some documentation fixes
Dejan Jovanović [Tue, 9 Oct 2012 00:22:33 +0000 (00:22 +0000)]
adding mergePredicates method to the equality engine to be able to
assert equalities betweeen predicates
Morgan Deters [Mon, 8 Oct 2012 22:51:08 +0000 (22:51 +0000)]
* Models' SubstitutionMaps are now attached to the user context
(rather than SAT context)
* Enable part of CVC3 system test (resolves bug 375)
* Fix infinite recursion in beta reduction code (resolves bug 417)
* Some model-building assertions have been added
* Other minor changes
(this commit was certified error- and warning-free by the test-and-commit script.)
Liana Hadarean [Mon, 8 Oct 2012 20:51:03 +0000 (20:51 +0000)]
added reduced bv model failing test case
Clark Barrett [Mon, 8 Oct 2012 20:19:13 +0000 (20:19 +0000)]
Fixed problem in assertEqualityEngine: predicates that are not false are no
longer assumed to be true
Morgan Deters [Mon, 8 Oct 2012 19:31:01 +0000 (19:31 +0000)]
small fix for compat JNI library installation
Morgan Deters [Mon, 8 Oct 2012 16:00:58 +0000 (16:00 +0000)]
fix SMT-LIBv2 compliance mode for bitvectors (was completely broken; didn't allow use of any BV ops
Morgan Deters [Sat, 6 Oct 2012 20:13:17 +0000 (20:13 +0000)]
turn off cudd by default in configure script
Morgan Deters [Sat, 6 Oct 2012 20:09:26 +0000 (20:09 +0000)]
* more complete support for --dump assertions:{pre,post}-PREPROCESSING-PASS
* more minor cleanup/doc
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Sat, 6 Oct 2012 18:53:27 +0000 (18:53 +0000)]
* Clean up some options documentation
* Remove defunct --no-theory-registration option
* Point people to Wiki tutorial
* Modernize the cut-release script
* Misc cleanup, documentation
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Sat, 6 Oct 2012 17:27:51 +0000 (17:27 +0000)]
* Some documentation about building compatibility and language bindings
* Better errors/warnings when SWIG isn't installed (resolves bug 373)
* Allow compatibility bindings to be built when SWIG isn't available
Morgan Deters [Sat, 6 Oct 2012 05:27:33 +0000 (05:27 +0000)]
* Include a few bug testcases for resolved bugs.
* Fix error message if you POP beyond the bottom user stack frame.
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Sat, 6 Oct 2012 04:05:19 +0000 (04:05 +0000)]
* Fix some regressions' expected outputs.
* Ensure Rewriter::init() is called before ::rewrite().
The array type enumerator recently gave us an end-run around
::init(). TheoryEngine no longer calls these, they're done
via static initialization.
* Respect scope for declare-sort/declare-fun/define-sort/define-fun... (resolves bug 412).
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Fri, 5 Oct 2012 23:16:21 +0000 (23:16 +0000)]
fix \file
Morgan Deters [Fri, 5 Oct 2012 22:46:27 +0000 (22:46 +0000)]
Bug-related:
* ITE removal fixed to be context-dependent (on UserContext).
Resolves incrementality bugs 376 and 396 (which had given wrong answers).
* some bugfixes for incrementality that Dejan found (fixes bug 394)
* fix for bug in SmtEngine::getValue() where definitions weren't respected
(partially resolves bug 411, but get-model is still broken).
* change status of microwave21.ec.minimized.smt2 (it's actually unsat, but
was labeled sat); re-enable it for "make regress"
Also:
* --check-model doesn't fail if quantified assertions don't simplify away.
* fix some examples, and the Java system test, for the disappearance of the
BoolExpr class
* add copy constructor to array type enumerator (the type enumerator
framework requires copy ctors, and the automatically-generated copy ctor
was copying pointers that were then deleted, leaving dangling pointers in
the copy and causing segfaults)
* --dump=assertions now implies --dump=skolems
* --dump=assertions:pre-<PASS> and --dump=assertions:post-<PASS> now allow
you to dump before/after a particular preprocessing pass. E.g.,
--dump=assertions:pre-ite-removal or --dump=assertions:post-static-learning.
"--dump=assertions" by itself is after all preprocessing, just before CNF
conversion.
* minor fixes to dumping output
* include Model in language bindings
Minor refactoring/misc:
* fix compiler warning in src/theory/model.cpp
* remove unnecessary SmtEngine::printModel().
* mkoptions script doesn't give progress output if stdout isn't a terminal
(e.g., if it's written to a log, or piped through less(1), or whatever).
* add some type enumerator unit tests
* de-emphasize --parse-only and --preprocess-only (they aren't really "common"
options)
* fix some exception throw() specifications in SmtEngine
* minor documentation clarifications
Dejan Jovanović [Fri, 5 Oct 2012 22:07:16 +0000 (22:07 +0000)]
BoolExpr removed and replaced with Expr
Morgan Deters [Thu, 4 Oct 2012 20:48:13 +0000 (20:48 +0000)]
disable model-generation by default in cvc3 compatibility layer. should fix system test failure (bug 414).
Clark Barrett [Thu, 4 Oct 2012 17:45:56 +0000 (17:45 +0000)]
Implemented array type enumerator, more fixes for models
Morgan Deters [Thu, 4 Oct 2012 17:43:21 +0000 (17:43 +0000)]
IllegalArgumentException in java needs to be named "CVC4IllegalArgumentException" to avoid a name clash with java.lang.IllegalArgumentException, which isn't easily avoided, due to swig-autogenerated code that uses it unqualified. X-(
Andrew Reynolds [Wed, 3 Oct 2012 23:04:08 +0000 (23:04 +0000)]
minor fix for mbqi in finite model finding
Liana Hadarean [Wed, 3 Oct 2012 22:38:37 +0000 (22:38 +0000)]
implemented collectModelInfo for TheoryBV
Morgan Deters [Wed, 3 Oct 2012 22:12:11 +0000 (22:12 +0000)]
updates to contrib scripts to match docs
Morgan Deters [Wed, 3 Oct 2012 21:41:15 +0000 (21:41 +0000)]
better documentation, allow examples to be installed, etc
Clark Barrett [Wed, 3 Oct 2012 21:28:11 +0000 (21:28 +0000)]
New model code, mostly workin
Morgan Deters [Wed, 3 Oct 2012 21:27:11 +0000 (21:27 +0000)]
new README and INSTALL files
Liana Hadarean [Wed, 3 Oct 2012 19:41:45 +0000 (19:41 +0000)]
added support for interrupting TheoryBV
Kshitij Bansal [Wed, 3 Oct 2012 19:05:32 +0000 (19:05 +0000)]
--wait-to-join / --no-wait-to-join option
workaround option till we fix bug 409. for now, I have kept --wait-to-join to
be default (old behavior). We could technically make --no-wait-to-join the
default when using non-incremental mode, but still possible for problems at
exit I think
(this commit was certified error- and warning-free by the test-and-commit script.)
Dejan Jovanović [Wed, 3 Oct 2012 17:59:33 +0000 (17:59 +0000)]
adding ::getBooleanVariables to the PropEngine
you can get the Boolean variables in the TheoryEngine now by using d_propEngine->getBooleanVariables
Morgan Deters [Tue, 2 Oct 2012 22:13:12 +0000 (22:13 +0000)]
* re-enable some Z3 extended commands:
declare-const
declare-funs
declare-preds
define
simplify
* don't output --help on bad options, just invite user to try --help
* Datatypes from SMT2 parser now name the tester is-cons (e.g.)
* unknown results produce models, --check-model doesn't fail hard for
incorrect unknown models. removed the assert that kept arithmetic
from producing models if it saw nonlinear
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Tue, 2 Oct 2012 02:57:59 +0000 (02:57 +0000)]
workaround for a nasty CLN bug
Kshitij Bansal [Mon, 1 Oct 2012 22:11:26 +0000 (22:11 +0000)]
"Fix" (disable) portfolio when using quantifiers
Other changes:
* fix compile error in smt_engine in debug builds
* add getLogicInfo in smt_engine
* remove "empty-channel" and "disable-lemma-sharing" debug tags
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Mon, 1 Oct 2012 21:10:26 +0000 (21:10 +0000)]
make sure to mark LogicInfo as CVC4_PUBLIC
Morgan Deters [Mon, 1 Oct 2012 21:10:04 +0000 (21:10 +0000)]
fix for dejan: term ITEs now dumped correctly
Andrew Reynolds [Mon, 1 Oct 2012 19:55:15 +0000 (19:55 +0000)]
initial draft of skolemization during pre-processing, made simple cliques the default option for uf strong solver
Morgan Deters [Sun, 30 Sep 2012 23:20:49 +0000 (23:20 +0000)]
minor changes to arithmetic assertions involving nonlinearity and models (related to bug 405)
Morgan Deters [Sun, 30 Sep 2012 23:16:49 +0000 (23:16 +0000)]
minor fixes to pickler (hopefully fixes Debian build from last night)
Morgan Deters [Sun, 30 Sep 2012 22:29:57 +0000 (22:29 +0000)]
release notes
Tim King [Sat, 29 Sep 2012 20:42:16 +0000 (20:42 +0000)]
Calling the setIncompleteness() flag on all full checks once a non-linear term has been seen.
Morgan Deters [Sat, 29 Sep 2012 17:48:46 +0000 (17:48 +0000)]
Fix a few segfaults in driver.
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Sat, 29 Sep 2012 16:19:01 +0000 (16:19 +0000)]
draft RELEASE-NOTES file, and minor release stuff
Morgan Deters [Sat, 29 Sep 2012 13:53:01 +0000 (13:53 +0000)]
fixes to "make distclean" and C compatibility bindings; should fix the broken builds last night
Morgan Deters [Sat, 29 Sep 2012 13:52:53 +0000 (13:52 +0000)]
fixes to "make distclean" and C compatibility bindings; should fix the broken builds last night
Tim King [Sat, 29 Sep 2012 07:19:28 +0000 (07:19 +0000)]
This commit add interpretation by lemma for INTS_DIVISION, INTS_MODULUS, and DIVISION. Improves support for non-linear monomials in getEqualityStatus(). Fixes bug 405.
Kshitij Bansal [Fri, 28 Sep 2012 22:46:09 +0000 (22:46 +0000)]
Some fixes to portfolio
* respect output lang
* fix export variable for BOUND_VARIABLE
* support export of SUBRANGE_TYPE
* statistic for lastWinner, other minor stat changes
* fix running of multiple threads on checsat/query
* changes of Assert -> assert which became private
* fix some destruction time order issues
* fix Pickler with AssertionException going private
Fixed by not fixing:
* portfolio+datatypes does not work
- added ExportUnsupportedException to more places, switches
to sequential
(still TODO / decide : not switch silently, but print error)
> note: this exception now needs to be (and is) defined in expr.h
Known issues:
* problems in portfolio+quantifiers
- at least some problems appear to be because of static variables
(will be later "fixed" like the datatypes)
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Fri, 28 Sep 2012 22:31:12 +0000 (22:31 +0000)]
fix distribution of cvc4_assert.i
Morgan Deters [Fri, 28 Sep 2012 20:34:00 +0000 (20:34 +0000)]
fixes for compatibility (i.e., CVC3) Java bindings
Morgan Deters [Fri, 28 Sep 2012 20:14:40 +0000 (20:14 +0000)]
rename Assert.h/Assert.cpp to cvc4_assert.h/cvc4_assert.cpp -- we need to make it unambiguous for case-insensitive filesystems like on Mac. Fixes Mac builds
Morgan Deters [Fri, 28 Sep 2012 19:20:02 +0000 (19:20 +0000)]
some fixes to build system
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Fri, 28 Sep 2012 18:22:29 +0000 (18:22 +0000)]
fix production-build linking error
Morgan Deters [Fri, 28 Sep 2012 17:29:01 +0000 (17:29 +0000)]
Public interface review items:
* Internal uses of CheckArgument changed to AssertArgument/AlwaysAssertArgument()
* Make util/Assert.h cvc4_private instead of public, so AssertionException and friends are now internal-only
* CheckArgument() throws non-AssertionException
* things outside the core library (parsers, driver) use regular C-style assert,
or a public exception type.
* auto-generated documentation for Smt options and internal options
Also, a small fix to SMT-LIBv1 QF_ABV and QF_AUFBV definitions, which were nonstandard.
Morgan Deters [Fri, 28 Sep 2012 16:46:13 +0000 (16:46 +0000)]
* fix compatibility library naming for SMT-LIBv1
* change name of JNI library to "libcvc4jni", which works better with Java's
System.loadLibrary().
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Thu, 27 Sep 2012 22:04:38 +0000 (22:04 +0000)]
* Rename SMT parts (printer, parser) to SMT1
* Change --lang smt to mean SMT-LIBv2
* --lang smt1 now means SMT-LIBv1
* SMT-LIBv2 parser now gives helpful error if input looks like v1
* SMT-LIBv1 parser now gives helpful error if input looks like v2
* CVC presentation language parser now gives helpful error if input
looks like either SMT-LIB v1 or v2
* Other associated changes
(this commit was certified error- and warning-free by the test-and-commit script.)
Morgan Deters [Thu, 27 Sep 2012 20:11:59 +0000 (20:11 +0000)]
finally, a portable solution
Morgan Deters [Thu, 27 Sep 2012 20:10:00 +0000 (20:10 +0000)]
fix for non-Mac