Andres Noetzli [Tue, 16 May 2017 18:33:38 +0000 (11:33 -0700)]
Avoid tokenizing FP tokens in non-FP input
This commit addresses bug 807. CVC4 was parsing floating-point related tokens
such as NaN as floating-point tokens even for inputs that do not use the FP
theory, which lead to failing SMT-LIB benchmarks that declare functions named
NaN.
Andrew Reynolds [Mon, 15 May 2017 16:56:43 +0000 (11:56 -0500)]
Merge pull request #158 from 4tXJ7f/fix_sets_rewriter
Fix minor bug in sets rewriter
Andres Noetzli [Mon, 15 May 2017 16:50:45 +0000 (09:50 -0700)]
Fix minor bug in sets rewriter
As reported by Coverity, one of the switches in the sets rewriter had a missing
break. This could lead to an assertion failure when rewriting the cardinality
of a transpose as in the test case included in this commit.
ajreynol [Mon, 15 May 2017 16:44:15 +0000 (11:44 -0500)]
Fix bug 806. Minor fixes to remove term formula pass.
Andrew Reynolds [Mon, 15 May 2017 15:56:22 +0000 (10:56 -0500)]
Merge pull request #157 from 4tXJ7f/fix_iterator
Fix condition in upwards closure check for sets
Andres Noetzli [Mon, 15 May 2017 15:50:21 +0000 (08:50 -0700)]
Fix condition in upwards closure check for sets
Coverity reported this mismatched iterator.
ajreynol [Mon, 15 May 2017 14:48:07 +0000 (09:48 -0500)]
Fix issue in ceg_instantiator related to types and theoryOf, fixes bug 802.
ajreynol [Mon, 15 May 2017 14:07:21 +0000 (09:07 -0500)]
Make conflict-based instantiation abort if a ground conflict is found in the master equality engine during term indexing, fixes bug 801.
Clark Barrett [Sun, 14 May 2017 03:02:24 +0000 (20:02 -0700)]
Merge pull request #154 from 4tXJ7f/fix_test
Fix out-of-bounds access in test
Andres Notzli [Sat, 13 May 2017 23:09:58 +0000 (16:09 -0700)]
Fix out-of-bounds access in test
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