Andres Noetzli [Mon, 15 May 2017 17:09:45 +0000 (10:09 -0700)]
Fix type checks for relation operators
This commit fixes an assertion error when applying transpose or transitive
closure to a set instead of a relation. Instead it now prints a parse error.
Andres Notzli [Fri, 31 Mar 2017 21:27:05 +0000 (14:27 -0700)]
Make signal handlers safer
As reported in bug 769, the signal handlers currently use unsafe
functions such as dynamic memory allocations and fprintf. This commit
fixes the issue by introducing functions for printing statistics in
signal handlers (functions with the `safe` prefix). It also avoids
copying statistics, which further avoids dynamic memory allocation. The
safe printing of statistics has some limitations (it does not support
SExprStats or printing CVC4::Result), which should not matter much in
practice. Printing statistics in a non-signal handler is not affected by
these changes as that uses a separate code path (the functions without
the `safe` prefix).
Additional changes:
- Remove ListStat as it is not used anywhere
- Add unit test for safe printing statistics
ajreynol [Wed, 10 May 2017 15:35:38 +0000 (10:35 -0500)]
Do not split on cardinality for string equivalence classes with non-constant lengths if disequalities already imply sufficient lower bound. Fixes bug 799.
ajreynol [Tue, 9 May 2017 22:16:06 +0000 (17:16 -0500)]
Change str.replace for empty string.
ajreynol [Fri, 5 May 2017 22:41:18 +0000 (17:41 -0500)]
Do not eliminate extended arithmetic symbols when finite model finding is on, add regression.
ajreynol [Fri, 5 May 2017 14:35:12 +0000 (09:35 -0500)]
Fix error message.
guykatzz [Thu, 4 May 2017 20:51:36 +0000 (13:51 -0700)]
skolemization manager may be called also when just unsatCores are on (related to bug 717)
guykatzz [Thu, 4 May 2017 18:24:41 +0000 (11:24 -0700)]
fixing bug 790: track dependencies when the unsatCores() option is on
Clark Barrett [Fri, 28 Apr 2017 22:00:01 +0000 (15:00 -0700)]
Partial fix for bug 717.
ajreynol [Fri, 28 Apr 2017 20:52:17 +0000 (15:52 -0500)]
Minor fixes
ajreynol [Fri, 28 Apr 2017 20:48:13 +0000 (15:48 -0500)]
Fix bug for real division.
ajreynol [Fri, 28 Apr 2017 16:46:53 +0000 (11:46 -0500)]
Do not eliminate non-standard arithmetic operators in recursive function definitions, add regression.
ajreynol [Mon, 24 Apr 2017 21:56:23 +0000 (16:56 -0500)]
Fixes and simplifications for fmf mbqi.
ajreynol [Mon, 24 Apr 2017 15:14:19 +0000 (10:14 -0500)]
Fix parsing selectors for nullary constructors in smtlib 2.6 format.
Andrew Reynolds [Mon, 24 Apr 2017 01:07:54 +0000 (20:07 -0500)]
Merge pull request #152 from timothy-king/delta-rational-value-cases-second-submission
Updating TheoryArithPrivate::getDeltaValue() to eagerly use the parti…
Tim King [Sun, 23 Apr 2017 20:05:10 +0000 (13:05 -0700)]
Changing spaces to tabs in Makefile.
Tim King [Thu, 13 Apr 2017 07:21:30 +0000 (00:21 -0700)]
Updating TheoryArithPrivate::getDeltaValue() to eagerly use the partial model value if exists.
Clark Barrett [Sat, 22 Apr 2017 04:45:23 +0000 (21:45 -0700)]
Merge pull request #151 from 4tXJ7f/fix_debug
Move assertion out of loop for better performance
Clark Barrett [Sat, 22 Apr 2017 04:39:53 +0000 (21:39 -0700)]
Disabled bug639.smt2 which still fails.
Clark Barrett [Fri, 21 Apr 2017 23:01:34 +0000 (16:01 -0700)]
Add test cases for bugs 639 and 681.
Clark Barrett [Fri, 21 Apr 2017 22:09:33 +0000 (15:09 -0700)]
Fix for bug 681 (now gives reasonable error message about using constant
arrays).
Andres Noetzli [Fri, 21 Apr 2017 21:39:56 +0000 (14:39 -0700)]
Move assertion out of loop for better performance
This is related to bug 508. The debug build was taking much longer than the
production build to compute the result. The issue was an assertion in a loop in
nonClausalSimplify(). By moving the assertion outside of the loop, the debug
build is now roughly an order of magnitude slower than the production build
(instead of two orders of magnitude), which seems to be roughly in line with
the difference for other benchmarks:
Debug version before change:
- Bug (minified version): 1065.6s
- regress3/friedman_n6_i4.smt: 6.9s
- regress2/uflia-error0.smt2: 6.3s
- regress2/fuzz_2.smt: 2.3s
Debug version after change:
- Bug (minified version): 131.4s
- regress3/friedman_n6_i4.smt: 6.7s
- regress2/uflia-error0.smt2: 6.2s
- regress2/fuzz_2.smt: 1.9s
Production version:
- Bug (minified version): 18.8s
- regress3/friedman_n6_i4.smt: 0.8s
- regress2/uflia-error0.smt2: 0.8s
- regress2/fuzz_2.smt: 0.2s
Clark Barrett [Fri, 21 Apr 2017 16:43:50 +0000 (09:43 -0700)]
Merge pull request #150 from 4tXJ7f/check_exceptions2
Add check for C++ exceptions to config script
ajreynol [Fri, 21 Apr 2017 14:33:26 +0000 (09:33 -0500)]
Fix new relations regressions to use sets-ext.
ajreynol [Fri, 21 Apr 2017 14:26:04 +0000 (09:26 -0500)]
Handle subtypes in sets. Bug fixes for tuples with subtypes.
Andres Notzli [Wed, 19 Apr 2017 15:46:59 +0000 (08:46 -0700)]
Add check for C++ exceptions to config script
Bug 687 was caused by the configuration not properly supporting C++
exceptions. To avoid such an incidence in the future, this commit adds a
simple check to `configure.ac` (when not cross compiling).
Andrew Reynolds [Thu, 20 Apr 2017 22:08:08 +0000 (17:08 -0500)]
Merge pull request #149 from PaulMeng/master
Support for relational operators identity and join image
ajreynol [Thu, 20 Apr 2017 19:19:51 +0000 (14:19 -0500)]
Minor fixes.
Paul Meng [Thu, 20 Apr 2017 19:04:24 +0000 (14:04 -0500)]
Support for relational operators identity and join image
ajreynol [Wed, 19 Apr 2017 21:29:01 +0000 (16:29 -0500)]
Fix mktheoryrewriter and mktheorytraits for nullaryoperator.
ajreynol [Wed, 19 Apr 2017 21:16:35 +0000 (16:16 -0500)]
Fixes for handling set universe: restrict upwards rule for universe to memberships into variable sets, do not variable eliminate sets during ppAssert.
Clark Barrett [Wed, 19 Apr 2017 03:30:42 +0000 (20:30 -0700)]
Merge pull request #147 from makaimann/coverage_fix
Coverage fix
Clark Barrett [Tue, 18 Apr 2017 23:57:40 +0000 (16:57 -0700)]
Fix for bug 639.
makaimann [Tue, 18 Apr 2017 15:49:17 +0000 (08:49 -0700)]
Coverage fix
Forcing some make variables to be absolute paths
lcov does not (officially) support relative paths
src/expr and src/options in particular were breaking it
ajreynol [Fri, 14 Apr 2017 22:25:18 +0000 (17:25 -0500)]
Actively split for upwards closusure intersection. Minor clean up, add regressions.
ajreynol [Fri, 14 Apr 2017 22:03:44 +0000 (17:03 -0500)]
Fix bug related to portfolio with nullary operators.
ajreynol [Fri, 14 Apr 2017 21:34:59 +0000 (16:34 -0500)]
Fix nullary operator printers, minor.
ajreynol [Fri, 14 Apr 2017 16:06:45 +0000 (11:06 -0500)]
Fix for fmf-fun when the option is set by user command.
Clark Barrett [Thu, 13 Apr 2017 18:57:19 +0000 (11:57 -0700)]
Fix for some compilers
ajreynol [Wed, 12 Apr 2017 21:47:12 +0000 (16:47 -0500)]
Add nullary operator metakind.
ajreynol [Tue, 11 Apr 2017 16:14:42 +0000 (11:14 -0500)]
Bug fix in conjecture generation for --quant-ind.
ajreynol [Fri, 7 Apr 2017 16:22:44 +0000 (11:22 -0500)]
Change option names for nl.
Clark Barrett [Thu, 6 Apr 2017 06:32:12 +0000 (23:32 -0700)]
Merge pull request #143 from FabianWolff/master
Fix several spelling errors
ajreynol [Wed, 5 Apr 2017 18:32:35 +0000 (13:32 -0500)]
Fix bug 698.
ajreynol [Wed, 5 Apr 2017 18:19:21 +0000 (13:19 -0500)]
Fixes for nlAlgSolveSubs.
Andrew Reynolds [Wed, 5 Apr 2017 18:15:31 +0000 (13:15 -0500)]
Merge pull request #145 from 4tXJ7f/fix_lfsc_args
[LFSC] Fix segfault
ajreynol [Wed, 5 Apr 2017 14:56:00 +0000 (09:56 -0500)]
Caching for fun def process, add regression.
Andres Notzli [Sun, 26 Mar 2017 21:39:07 +0000 (23:39 +0200)]
[LFSC] Fix segfault
LFSC did not detect when the number of arguments provided to a side
condition did not match the expected number of arguments, which could
lead to out-of-bounds reads and writes. This commit adds a check and
fixes one of the proof rules that provided the wrong number of
arguments.
ajreynol [Wed, 5 Apr 2017 14:09:55 +0000 (09:09 -0500)]
Remove extraneous portion of an nl regression.
ajreynol [Wed, 5 Apr 2017 14:01:55 +0000 (09:01 -0500)]
Add non-linear regressions, disable nlAlgSubs, do not do rep checking for NONLINEAR_MULT terms. Ensure shared terms have correct model values in non-linear solver.
Fabian Wolff [Tue, 4 Apr 2017 22:47:10 +0000 (00:47 +0200)]
Fix several spelling errors
ajreynol [Tue, 4 Apr 2017 17:54:26 +0000 (12:54 -0500)]
Enable multi-trigger-linear by default, add option.
ajreynol [Tue, 4 Apr 2017 16:21:30 +0000 (11:21 -0500)]
Simplify Theory::collectModelInfo interface to not take deprecated fullModel argument.
ajreynol [Tue, 4 Apr 2017 14:59:45 +0000 (09:59 -0500)]
Do not solve for 0-ary non-constant symbols (for which isVar returns true), add regressions.
Clark Barrett [Tue, 4 Apr 2017 06:17:42 +0000 (23:17 -0700)]
Merge pull request #141 from 4tXJ7f/remove_def
Remove decl. of getStatisticsRegistry(SmtEngine*)
Andrew Reynolds [Mon, 3 Apr 2017 14:38:54 +0000 (09:38 -0500)]
Merge pull request #142 from timothy-king/nlAlgMerge
Adding a model based axiom instantiation scheme for multiplication. M…
Tim King [Mon, 3 Apr 2017 02:29:36 +0000 (19:29 -0700)]
Adding a model based axiom instantiation scheme for multiplication. Merge commit for nlAlgMaster.
Andres Notzli [Fri, 31 Mar 2017 22:02:39 +0000 (15:02 -0700)]
Remove decl. of getStatisticsRegistry(SmtEngine*)
Commit
f4ef7af0a2295691f281ee1604dfeb4082fe229c removed the definition
of getStatisticsRegistry(SmtEngine*) but not the declaration.
ajreynol [Fri, 31 Mar 2017 13:43:29 +0000 (08:43 -0500)]
Add option multi-trigger-linear, minor optimization to E-matching.
Clark Barrett [Thu, 30 Mar 2017 19:49:38 +0000 (12:49 -0700)]
Merge pull request #139 from 4tXJ7f/remove_throw
[Coverity] Remove throw qualifiers in src/smt
Andres Notzli [Wed, 29 Mar 2017 21:27:56 +0000 (23:27 +0200)]
ajreynol [Thu, 30 Mar 2017 14:11:52 +0000 (09:11 -0500)]
Minor fixes for trigger selection max.
ajreynol [Wed, 29 Mar 2017 18:49:51 +0000 (13:49 -0500)]
Add quantifiers options related to model and master equality engine.
PaulMeng [Wed, 29 Mar 2017 14:36:29 +0000 (09:36 -0500)]
Merge pull request #138 from PaulMeng/master
Refactor the standard effort of relational solver
Paul Meng [Wed, 29 Mar 2017 04:08:52 +0000 (23:08 -0500)]
Refactor the standard effort of relational solver
ajreynol [Wed, 29 Mar 2017 03:22:05 +0000 (22:22 -0500)]
Fix bug 787.
Clark Barrett [Wed, 29 Mar 2017 01:29:48 +0000 (18:29 -0700)]
Fix for bug 733
ajreynol [Tue, 28 Mar 2017 21:21:12 +0000 (16:21 -0500)]
Minor refactoring sygus.
ajreynol [Tue, 28 Mar 2017 14:35:43 +0000 (09:35 -0500)]
More work on sygus. Add regress4 to Makefile.
Tim King [Tue, 28 Mar 2017 06:26:34 +0000 (23:26 -0700)]
Fixing a bug for checking whether a node was visited.
Tim King [Tue, 28 Mar 2017 05:15:23 +0000 (22:15 -0700)]
Minor cleanups to ExtTheory.
Tim King [Tue, 28 Mar 2017 03:59:48 +0000 (20:59 -0700)]
Removing the friend class modifier from ExtTheory to Theory.
Clark Barrett [Mon, 27 Mar 2017 20:20:27 +0000 (13:20 -0700)]
Merge pull request #137 from 4tXJ7f/throw_quals
Remove throw qualifiers in type enumerators
Tim King [Mon, 27 Mar 2017 19:26:14 +0000 (12:26 -0700)]
Making the ExtTheory object a private member of Theory.
Tim King [Mon, 27 Mar 2017 17:24:13 +0000 (10:24 -0700)]
Making ppNotifyAssertions take a const vector.
Tim King [Mon, 27 Mar 2017 17:02:11 +0000 (10:02 -0700)]
Moving the CareGraph into its own file.
Tim King [Mon, 27 Mar 2017 16:40:30 +0000 (09:40 -0700)]
Moving the theory::Assertion struct into its own file.
Andres Notzli [Mon, 27 Mar 2017 09:40:45 +0000 (11:40 +0200)]
Tim King [Mon, 27 Mar 2017 04:59:36 +0000 (21:59 -0700)]
Alphabetizing libcvc4_la_SOURCES.
ajreynol [Fri, 24 Mar 2017 14:56:12 +0000 (09:56 -0500)]
Add some regressions. Minor.
ajreynol [Fri, 24 Mar 2017 14:37:13 +0000 (09:37 -0500)]
Refactor model building for quantifiers to be a single pass, simplification. Modify datatypes collect model info to include dt equivalence classes. Further work on sygus. Other minor fixes.
Clark Barrett [Thu, 23 Mar 2017 22:15:56 +0000 (15:15 -0700)]
Fixing warning message.
guykatzz [Thu, 23 Mar 2017 21:13:46 +0000 (14:13 -0700)]
support incremental unsat cores
ajreynol [Wed, 22 Mar 2017 16:15:19 +0000 (11:15 -0500)]
Fix more cases of rewritten explanations in strings for bug 784. Minor.
ajreynol [Wed, 22 Mar 2017 15:58:03 +0000 (10:58 -0500)]
Minor fix for bounded integers.
ajreynol [Wed, 22 Mar 2017 13:52:42 +0000 (08:52 -0500)]
Work on new approach for sygus involving conditional solutions. Refactoring of sygus solver. Bug fix for sygus solution reconstruction.
ajreynol [Tue, 21 Mar 2017 21:39:25 +0000 (16:39 -0500)]
Improve computeCareGraph functions to check shared term equality status once per equivalence class pair.
Andrew Reynolds [Mon, 20 Mar 2017 20:42:16 +0000 (15:42 -0500)]
Merge pull request #135 from PaulMeng/master
fixed cvc4 parser for set complement
Paul Meng [Mon, 20 Mar 2017 18:49:31 +0000 (13:49 -0500)]
fixed cvc4 parser for set complement
Clark Barrett [Sat, 18 Mar 2017 23:20:56 +0000 (16:20 -0700)]
Fix for bug 707.
Clark Barrett [Sat, 18 Mar 2017 20:46:37 +0000 (13:46 -0700)]
Fix to help with bug 717
guykatzz [Fri, 17 Mar 2017 21:11:41 +0000 (14:11 -0700)]
better support for proof production when encountering bool terms: handle the new proof constructs generated by the equality engine.
proof production for bool-array.smt2 passes
Tim King [Thu, 16 Mar 2017 21:06:17 +0000 (14:06 -0700)]
Fixes bug 781. Copy constructor for Expr needed to set the NodeManagerScope.
ajreynol [Thu, 16 Mar 2017 19:19:58 +0000 (14:19 -0500)]
More fixes, features to examples.
ajreynol [Thu, 16 Mar 2017 19:05:23 +0000 (14:05 -0500)]
Minor fixes, always expand applications of lambdas at preprocess.
ajreynol [Thu, 16 Mar 2017 18:24:31 +0000 (13:24 -0500)]
Support for SMT LIB 2.6 syntax declare-datatype and match.
ajreynol [Thu, 16 Mar 2017 16:37:53 +0000 (11:37 -0500)]
Parsing support for SMT LIB 2.6. Minor fixes for printing datatypes. Fix for mkGroundTerm for parametric datatypes. Minor change to run_regression to allow regressions to override input language. Minor refactoring to Cvc.g.
ajreynol [Wed, 15 Mar 2017 21:28:55 +0000 (16:28 -0500)]
Fix regress1 Makefile for rewriterules, fixes bug 783.
Clark Barrett [Wed, 15 Mar 2017 21:00:17 +0000 (14:00 -0700)]
Merge pull request #134 from 4tXJ7f/fix_host
Fix win-build script to use MinGW-w64 by default
ajreynol [Wed, 15 Mar 2017 18:11:08 +0000 (13:11 -0500)]
Allow 0 argument recursive functions. Fixes bug 782.