Morgan Deters [Fri, 7 Jun 2013 15:30:00 +0000 (11:30 -0400)]
Fixes for Boolean terms in arrays (including fix for bug 517).
Morgan Deters [Tue, 4 Jun 2013 13:10:55 +0000 (09:10 -0400)]
Fix clang static initialization order issue; fixes bug 512.
Morgan Deters [Wed, 29 May 2013 17:02:52 +0000 (13:02 -0400)]
Per SMT-LIB spec, allow (set-info..) command to succeed implicitly with unknown key.
Morgan Deters [Wed, 29 May 2013 13:48:40 +0000 (09:48 -0400)]
SMT-LIB printer updates (some missing cases).
Morgan Deters [Tue, 28 May 2013 23:06:12 +0000 (19:06 -0400)]
Fix bug where strict mode didn't allow DIV or MOD, and Ints permitted real division
Morgan Deters [Tue, 28 May 2013 17:29:59 +0000 (13:29 -0400)]
Standardize SMT-LIBv2 set of logics to use LogicInfo.
Previously, SMT-LIB logics were treated specially, as in SMT-LIB v1.2.
This led to inconsistencies---such as nonstandard logics like "QF_LIRA"
being accepted in set-logic but not providing the "Real" sort. Now,
the LogicInfo is used and queried, so nonstandard logics should work
fine and declare the correct symbols. SMT-LIB v1.2, unfortunately,
can't take advantage of this fully since symbols like "Array" have
substantially different meanings in different logics.
Morgan Deters [Tue, 21 May 2013 22:39:33 +0000 (18:39 -0400)]
Fix bug 512: an assertion failure only appearing with clang on Mac OS, due to improper ITE removal in quantifier instantiations.
Morgan Deters [Tue, 21 May 2013 22:38:27 +0000 (18:38 -0400)]
Fix an error that valgrind found.
Morgan Deters [Tue, 21 May 2013 20:18:15 +0000 (16:18 -0400)]
Fix incremental bug in symmetry breaker.
Thanks to Christoph Sticksel for reporting this.
Morgan Deters [Fri, 17 May 2013 20:53:21 +0000 (16:53 -0400)]
Fix error reporting on use of (nonlinear) div,mod,/ symbols
Morgan Deters [Fri, 17 May 2013 21:13:36 +0000 (17:13 -0400)]
Update THANKS to mention David Cok's contributions.
Morgan Deters [Fri, 17 May 2013 22:14:18 +0000 (18:14 -0400)]
Detect multiply-defined :named annotations and issue an error.
Thanks to David Cok for pointing out this issue.
Conflicts:
library_versions
Morgan Deters [Fri, 17 May 2013 21:04:34 +0000 (17:04 -0400)]
Fix parsing of SMT-LIBv2 |quoted| symbols that span newlines in interactive mode.
Thanks to David Cok for raising this issue.
Morgan Deters [Fri, 17 May 2013 16:36:54 +0000 (12:36 -0400)]
Compliance fixes for :named annotations: they must name closed subterms, the names must be user-permitted names, etc.
Thanks to David Cok for raising this issue.
Morgan Deters [Fri, 17 May 2013 16:03:29 +0000 (12:03 -0400)]
Don't allow get-model & co after a user push/pop
This makes us more strictly adhere to the spec, but it's useful anyway:
previously we would support a get-model until the problem was explicitly
changed with e.g. a new assertion. That meant you could check-sat, then
pop, then get-model, but you'd only get the part of the model still in
scope. This is strange, and would likely lead to problems, so it's now
disabled.
Thanks to David Cok for inquiring about this.
Morgan Deters [Fri, 17 May 2013 15:18:12 +0000 (11:18 -0400)]
As per SMT-LIB standard: make - and xor take n>2 args and be left-assoc; => takes n>2 args and is right-assoc.
Thanks to David Cok for pointing out this issue.
Morgan Deters [Fri, 17 May 2013 15:12:36 +0000 (11:12 -0400)]
Fix for equality-chaining of Booleans in SMT-LIBv2.
Thanks to David Cok for reporting this.
Morgan Deters [Fri, 17 May 2013 14:38:03 +0000 (10:38 -0400)]
Fix destruction issue in GetValueCommand leading to crash.
Thanks to David Cok for reporting this.
Morgan Deters [Fri, 17 May 2013 14:19:54 +0000 (10:19 -0400)]
Better error on invalid logic strings.
Thanks to David Cok for reporting this issue.
Conflicts:
library_versions
Morgan Deters [Fri, 17 May 2013 13:54:15 +0000 (09:54 -0400)]
Better error on illegal (pop N); also more compliant SMT-LIB error messages in some places
Thanks to David Cok for reporting these issues.
Morgan Deters [Fri, 17 May 2013 13:27:55 +0000 (09:27 -0400)]
A couple of fixes to the get-option command for compliance with SMT-LIB.
Thanks to David Cok for reporting this issue.
Morgan Deters [Fri, 17 May 2013 12:59:25 +0000 (08:59 -0400)]
Disallow construction of (_ BitVec 0).
Thanks to David Cok for reporting this issue.
Morgan Deters [Fri, 17 May 2013 12:51:36 +0000 (08:51 -0400)]
Fixed "success" response to (push N) / (pop N) with N > 1.
Thanks to David Cok for reporting this issue.
Morgan Deters [Fri, 17 May 2013 12:43:24 +0000 (08:43 -0400)]
Fix to empty response to (get-assignment).
Thanks to David Cok for reporting this issue.
Morgan Deters [Thu, 16 May 2013 22:55:08 +0000 (18:55 -0400)]
configure fix for building with glpk on redhat, perhaps others
Morgan Deters [Thu, 16 May 2013 21:30:13 +0000 (17:30 -0400)]
minor changes to language bindings
Morgan Deters [Fri, 10 May 2013 21:08:23 +0000 (17:08 -0400)]
disable Logic-checking with finite model finding for now, since FMF uses Rationals, making the check think arithmetic should be enabled (but it's not)
Morgan Deters [Fri, 10 May 2013 17:01:02 +0000 (13:01 -0400)]
Fix erroneous results when the logic was incorrectly specified (by throwing LogicException). Also correct a case where sharing was doing some work during pure theory solving.
Morgan Deters [Wed, 8 May 2013 12:07:56 +0000 (08:07 -0400)]
Prerelease versioning for 1.2.x
Morgan Deters [Wed, 8 May 2013 22:13:30 +0000 (18:13 -0400)]
Merge tag 'smteval2013'
Morgan Deters [Wed, 8 May 2013 22:05:08 +0000 (18:05 -0400)]
Cutting release 1.2.
Morgan Deters [Wed, 8 May 2013 21:07:05 +0000 (17:07 -0400)]
Removing arithmetic compile warning for release
Morgan Deters [Tue, 30 Apr 2013 17:59:52 +0000 (13:59 -0400)]
update versioning
Morgan Deters [Wed, 8 May 2013 20:51:54 +0000 (16:51 -0400)]
final updates for smt-eval script
Clark Barrett [Wed, 8 May 2013 15:25:14 +0000 (11:25 -0400)]
Fixed assertion bug
Morgan Deters [Wed, 8 May 2013 02:12:35 +0000 (22:12 -0400)]
fix for smt-eval run script
Morgan Deters [Tue, 7 May 2013 21:38:47 +0000 (17:38 -0400)]
BV strategy for SMT-EVAL
Morgan Deters [Tue, 7 May 2013 20:59:59 +0000 (16:59 -0400)]
fix for nonterminating model-based array loop
lianah [Tue, 7 May 2013 21:21:58 +0000 (17:21 -0400)]
added type checking rule to check for bit-vector constants of size 0
lianah [Tue, 7 May 2013 20:32:07 +0000 (16:32 -0400)]
one more fix for rewrites
lianah [Tue, 7 May 2013 20:03:56 +0000 (16:03 -0400)]
fixed bv rewrite blow-up
Dejan Jovanović [Tue, 7 May 2013 19:01:16 +0000 (15:01 -0400)]
fix for bug500
Tim King [Tue, 7 May 2013 18:38:46 +0000 (14:38 -0400)]
Fixes a bug with arithmetic's new attempt solution infrastructure. This caused arithmetic to think it was in a conflict incorrectly. This lead to it not properly responding to new input and lead to an inconsistency bug.
This could be triggered previously by running:
./builds/bin/cvc4 --stats --no-restrict-pivots --enable-miplib-trick --miplib-trick-subs=2 --fc-penalties --collect-pivot-stats --new-prop --dio-decomps --unconstrained-simp --fancy-final /home/taking/benchmarks/smtlib2/QF_LRA/miplib/opt1217--17.smt2
Tim King [Tue, 7 May 2013 18:35:22 +0000 (14:35 -0400)]
Improving arithmetic debugging output.
Tim King [Tue, 7 May 2013 04:44:27 +0000 (00:44 -0400)]
Disabling an incorrect prototyping line from the simplex merges. Fixes bug 510.
Morgan Deters [Tue, 7 May 2013 03:07:28 +0000 (23:07 -0400)]
Change SMT-EVAL run-script to use Tim's best QF_LRA command-line parameters
Liana Hadarean [Tue, 7 May 2013 01:46:30 +0000 (21:46 -0400)]
fixed bv rewrite rule bug
Morgan Deters [Mon, 6 May 2013 23:38:59 +0000 (19:38 -0400)]
Removing excess verbosity from ApproxSimplex (after discussing with Tim)
Tim King [Mon, 6 May 2013 22:38:12 +0000 (18:38 -0400)]
Adding a heuristic for guessing an optimization function when using glpk.
Tim King [Mon, 6 May 2013 19:00:34 +0000 (15:00 -0400)]
Disables justification stop only for LRA if the problem contains no ites. This is a bandaid for constraints-tempo-width family of benchmarks.
Clark Barrett [Mon, 6 May 2013 13:58:15 +0000 (09:58 -0400)]
Some bug fixes for mb arrays
Tim King [Sat, 4 May 2013 01:55:40 +0000 (21:55 -0400)]
Adding cut offs for likely integer infeasible paths.
Tim King [Sat, 4 May 2013 00:53:25 +0000 (20:53 -0400)]
Adding a smarter technique for pivoting in solutions for glpk.
Tim King [Fri, 3 May 2013 20:32:11 +0000 (16:32 -0400)]
Fixing compilation of unit tests. These problems were due to splitLemma() being pure virtual.
Tim King [Fri, 3 May 2013 19:52:11 +0000 (15:52 -0400)]
More misc. arithmetic cleanup. Removing unused files and functions. Also removing an ugly forward declaration that was needed to get error set bound information on basic variables.
Tim King [Fri, 3 May 2013 19:16:50 +0000 (15:16 -0400)]
Code cleanup. Reducing misc. warnings in arithmetic.
Tim King [Fri, 3 May 2013 19:01:02 +0000 (15:01 -0400)]
Removing arithmetic legacy code and unifying functions.
Tim King [Fri, 3 May 2013 17:36:53 +0000 (13:36 -0400)]
Fixing a debug typo.
Tim King [Fri, 3 May 2013 17:15:26 +0000 (13:15 -0400)]
Merging branch 'soiquickexplain'.
Tim King [Fri, 3 May 2013 17:14:17 +0000 (13:14 -0400)]
Merge branch 'fcexplanations'
Tim King [Thu, 2 May 2013 21:15:53 +0000 (17:15 -0400)]
Adding quick explain for soi simplex.
Dejan Jovanović [Fri, 26 Apr 2013 16:55:13 +0000 (12:55 -0400)]
* splitLemma to request atoms
* normalizing in bv before bitblasting
lianah [Thu, 2 May 2013 18:38:46 +0000 (14:38 -0400)]
merged master
lianah [Thu, 2 May 2013 18:14:48 +0000 (14:14 -0400)]
Merge branch 'master' of https://github.com/CVC4/CVC4
Morgan Deters [Wed, 1 May 2013 18:27:41 +0000 (14:27 -0400)]
Comment out some debug-related things in attribute code, no longer needed
Morgan Deters [Wed, 1 May 2013 18:04:00 +0000 (14:04 -0400)]
Fix to dumping re: boolean terms, datatypes
Morgan Deters [Wed, 1 May 2013 18:02:17 +0000 (14:02 -0400)]
Fix to boolean-terms; resolves bug #507
lianah [Wed, 1 May 2013 19:31:10 +0000 (15:31 -0400)]
removed tracing code causing slowdown; cleaned up some code
Tim King [Wed, 1 May 2013 18:59:39 +0000 (14:59 -0400)]
Working on the new explanation system.
lianah [Wed, 1 May 2013 17:22:29 +0000 (13:22 -0400)]
added back BitwiseEq rule
Morgan Deters [Wed, 1 May 2013 14:50:39 +0000 (10:50 -0400)]
Adding a missing makefile to the dist (fixes distcheck)
Tim King [Tue, 30 Apr 2013 23:32:08 +0000 (19:32 -0400)]
Making propagation more conversative.
Tim King [Tue, 30 Apr 2013 23:09:06 +0000 (19:09 -0400)]
Draft of the new propagation code.
lianah [Tue, 30 Apr 2013 20:43:09 +0000 (16:43 -0400)]
fixed merge conflicts
lianah [Tue, 30 Apr 2013 20:39:52 +0000 (16:39 -0400)]
merged cvc4 master
lianah [Tue, 30 Apr 2013 19:52:40 +0000 (15:52 -0400)]
updated the author name
lianah [Tue, 30 Apr 2013 17:42:50 +0000 (13:42 -0400)]
added several rewrite rules (BitwiseSlicing, Ule/SleEliminate, ExtractSignExtend) and bvurem lemma
lianah [Thu, 25 Apr 2013 22:43:12 +0000 (18:43 -0400)]
added bvule, bvsle operator elimination rulesl; added bvurem lemma generation
lianah [Sun, 21 Apr 2013 23:00:09 +0000 (19:00 -0400)]
added some bv rewrite rules
lianah [Wed, 17 Apr 2013 19:34:16 +0000 (15:34 -0400)]
innd examples are solved fast, but destruction assertion fail
Liana Hadarean [Tue, 16 Apr 2013 15:17:36 +0000 (11:17 -0400)]
fixed compile error
lianah [Tue, 16 Apr 2013 14:57:04 +0000 (10:57 -0400)]
uncompiling new bv to bool lifting
lianah [Fri, 12 Apr 2013 20:15:30 +0000 (16:15 -0400)]
finished implementing bv to bool lifting and added --bv-to-bool option
Liana Hadarean [Wed, 10 Apr 2013 04:03:02 +0000 (00:03 -0400)]
more work on boolean lifting
lianah [Wed, 10 Apr 2013 00:30:06 +0000 (20:30 -0400)]
started work on bv1 to boolean lifting
lianah [Mon, 8 Apr 2013 19:31:08 +0000 (15:31 -0400)]
added support for dumping the SAT problem the sat solver is working on
lianah [Tue, 30 Apr 2013 19:52:40 +0000 (15:52 -0400)]
updated the author name
Andrew Reynolds [Tue, 30 Apr 2013 17:56:17 +0000 (12:56 -0500)]
Add option in quantifiers for clause splitting
lianah [Tue, 30 Apr 2013 17:42:50 +0000 (13:42 -0400)]
added several rewrite rules (BitwiseSlicing, Ule/SleEliminate, ExtractSignExtend) and bvurem lemma
Kshitij Bansal [Tue, 30 Apr 2013 14:10:38 +0000 (10:10 -0400)]
add decision_attributes.h for make dist
Tim King [Tue, 30 Apr 2013 04:46:14 +0000 (00:46 -0400)]
Adding has bound counts and tracking for rows.
Morgan Deters [Mon, 29 Apr 2013 22:03:28 +0000 (18:03 -0400)]
Some fixes for GCC 4.2, and for Java on Mac
Kshitij Bansal [Mon, 29 Apr 2013 19:27:04 +0000 (12:27 -0700)]
Merge pull request #9 from kbansal/master
Merge experimental decisionweight branch
Morgan Deters [Mon, 29 Apr 2013 14:50:43 +0000 (10:50 -0400)]
Fixes to FCSimplex for some versions of compilers
Tim King [Sun, 28 Apr 2013 22:15:20 +0000 (18:15 -0400)]
Fixing the failure for make distcheck.
Kshitij Bansal [Fri, 26 Apr 2013 22:02:02 +0000 (18:02 -0400)]
Merge experimental decisionweight branch
None of these are enabled by default, so any performance impact
counts as a bug
Options added are:
--decision-threshold=N :default 0
+ ignore all nodes greater than threshold in first attempt to pick decision
--decision-use-weight bool :default false
+ use the weight nodes (locally, by looking at children) to direct recursive search
--decision-random-weight=N int :default 0
+ assign random weights to nodes between 0 and N-1 (0: disable)
--decision-weight-internal=HOW
+ computer weights of internal nodes using children: off, max, sum, usr1 (meaning evolving)
Squashed commit of the following:
commit
0dbae066c19abde37092517b50f23255398539db
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Fri Apr 26 16:42:36 2013 -0400
contentless cleanup
commit
62bb99b33deceb803ba5afc563fd322b4b5d1b7e
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Tue Apr 16 21:43:55 2013 -0400
bugfixes in usr1 auto weight computation
commit
9f039cba805bfd722466734920e758d48ae3b23e
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Fri Mar 29 15:01:33 2013 -0400
DECISION_WEIGHT_INTERNAL_USR1
commit
744e16d514594e5f1c69b36473b03cf501d9b9d1
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Wed Mar 27 11:05:43 2013 -0400
split theory and decision requests
commit
f379d8a821df31c74b42a7722e891abc5c944f16
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Wed Mar 27 09:51:58 2013 -0400
fix potential bug with threshold
commit
3dcb45eb5ee648d3edbeddf76b838076afea3d12
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Wed Feb 27 20:29:38 2013 -0500
stat bv::weightComputationTimer
commit
2ab97d063e221357d2bb017af4589105777fd5a3
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Sat Feb 23 17:02:43 2013 -0500
decision: option to auto compute weight of boolean structure
commit
0a8c29e699ad96d5f73bc14d31ad9254f6711ae8
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Sat Feb 23 14:53:50 2013 -0500
decision: fix design to do partial explorations
* make findSplitterRec and all related helper functions' return
type trivalued, to be able to distinguish between
"partial exploration" vs "done exploration but found nothing"
* keep additional data structure to remember to what extent the
partial exploration has been completed so not to repeat it. we
can use this to make multiple passes on formula with arbritrary
order of thresholds for exploration
commit
0815991fc1b0f1d63f0e8124d4672d782e89d671
Author: lianah <lianahady@gmail.com>
Date: Fri Feb 22 17:55:40 2013 -0500
added simple node weight computation for bv.
commit
e4c507e2e2fdc8794fd04c31093660a80c7f44c3
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Wed Feb 20 02:35:21 2013 -0500
--decision-use-weight, --decision-random-weight=N
commit
0624177d66d6ed2b3cc7fdb13df775990cfe50c2
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Tue Feb 19 23:36:49 2013 -0500
decisionThreshold option
commit
ac3579a52e452e3118ce116ff1823d6c6885544b
Author: Kshitij Bansal <kshitij@cs.nyu.edu>
Date: Tue Feb 19 20:22:51 2013 -0500
DecisionWeightAttr
Tim King [Fri, 26 Apr 2013 21:10:21 +0000 (17:10 -0400)]
FCSimplex branch merge
lianah [Thu, 25 Apr 2013 22:43:12 +0000 (18:43 -0400)]
added bvule, bvsle operator elimination rulesl; added bvurem lemma generation
Morgan Deters [Thu, 25 Apr 2013 19:43:16 +0000 (15:43 -0400)]
Add ability to run different regression levels with "make check"
Morgan Deters [Wed, 24 Apr 2013 03:03:37 +0000 (23:03 -0400)]
Theory "alternates" support
* This is a feature that Dejan and I want for the upcoming tutorial.
It allows rapid prototyping of new decision procedure implementations
(which we may choose to demonstrate), and a new --use-theory command-line
option to select from different available implementations. It has no
affect on the current set of theories, as no "alternates" are defined.
* Also update the new-theory script, which was broken and incomplete.