Aina Niemetz [Wed, 12 Sep 2018 23:41:18 +0000 (16:41 -0700)]
New C++ API: Try to fix (false positive) Coverity warnings. (#2454)
Aina Niemetz [Wed, 12 Sep 2018 22:50:44 +0000 (15:50 -0700)]
Examples: Remove obsolete flag CVC4_MAKE_EXAMPLES. (#2461)
Andrew Reynolds [Wed, 12 Sep 2018 18:18:13 +0000 (13:18 -0500)]
Initial infrastructure for theory decision manager (#2447)
Andrew Reynolds [Wed, 12 Sep 2018 02:15:28 +0000 (21:15 -0500)]
Fix for when strings process loop is disabled. (#2456)
Aina Niemetz [Tue, 11 Sep 2018 23:26:16 +0000 (16:26 -0700)]
Fixe compiler warning in line_buffer.cpp. (#2453)
Andrew Reynolds [Tue, 11 Sep 2018 18:08:00 +0000 (13:08 -0500)]
Support model cores via option --produce-model-cores. (#2407)
This adds support for model cores, fixes #1233.
It includes some minor cleanup and additions to utility functions.
yoni206 [Tue, 11 Sep 2018 16:30:35 +0000 (09:30 -0700)]
Avoid calling size() every iteration (#2450)
Andrew Reynolds [Tue, 11 Sep 2018 04:31:29 +0000 (23:31 -0500)]
Fix global negate (#2449)
Haniel Barbosa [Tue, 11 Sep 2018 03:20:42 +0000 (22:20 -0500)]
fix (#2446)
Andres Noetzli [Tue, 11 Sep 2018 02:27:05 +0000 (19:27 -0700)]
Set NodeManager to nullptr when exporting vars (#2445)
PR #2409 assumed that temporarily setting the NodeManager to nullptr
when creating variables is not needed anymore. However, this made our
portfolio build fail. This commit reintroduces the temporary NodeManager
change while creating variables.
Haniel Barbosa [Tue, 11 Sep 2018 01:51:03 +0000 (20:51 -0500)]
Using a single condition enumerator in sygus-unif (#2440)
This commit allows the use of unification techniques in which the search space for conditions in explored independently of the search space for return values (i.e. there is a single condition enumerator for which we always ask new values, similar to the PBE case).
In comparison with asking the ground solver to come up with a minimal number of condition values to resolve all my separation conflicts:
- _main advantage_: can quickly enumerate relevant condition values for solving the problem
- _main disadvantage_: there are many "spurious" values (as in not useful for actual solutions) that get in the way of "good" values when we build solutions from the lazy trie.
A follow-up PR will introduce an information-gain heuristic for building solutions, which ultimately greatly outperforms the other flavor of sygus-unif.
There is also small improvements for trace messages.
Aina Niemetz [Tue, 11 Sep 2018 00:16:28 +0000 (17:16 -0700)]
Refactor non-clausal simplify preprocessing pass. (#2425)
Andrew Reynolds [Mon, 10 Sep 2018 20:52:05 +0000 (15:52 -0500)]
Squash implementation of counterexample-guided instantiation (#2423)
Andres Noetzli [Mon, 10 Sep 2018 13:54:11 +0000 (06:54 -0700)]
Add (str.replace (str.replace y w y) y z) rewrite (#2441)
Mathias Preiner [Fri, 7 Sep 2018 19:31:20 +0000 (12:31 -0700)]
Replace boost::integer_traits with std::numeric_limits. (#2439)
Further, remove redundant gmp.h include in options_handler.cpp.
Mathias Preiner [Fri, 7 Sep 2018 17:20:06 +0000 (10:20 -0700)]
Remove clock_gettime() replacement for macOS. (#2436)
Not needed anymore since macOS 10.12 introduced clock_gettime().
Andrew Reynolds [Fri, 7 Sep 2018 15:42:41 +0000 (10:42 -0500)]
Make isClosedEnumerable a member of TypeNode (#2434)
Andrew Reynolds [Thu, 6 Sep 2018 20:48:58 +0000 (15:48 -0500)]
Further simplify and fix initialization of ce guided instantiation (#2437)
Andrew Reynolds [Thu, 6 Sep 2018 16:33:33 +0000 (11:33 -0500)]
Refactor and document quantifiers variable elimination and conditional splitting (#2424)
Andrew Reynolds [Thu, 6 Sep 2018 13:14:08 +0000 (08:14 -0500)]
Minor improvements to interface for rep set. (#2435)
Andrew Reynolds [Wed, 5 Sep 2018 22:36:00 +0000 (17:36 -0500)]
More extended rewrites for strings equality (#2431)
Andrew Reynolds [Wed, 5 Sep 2018 22:03:17 +0000 (17:03 -0500)]
Eliminate select over store in quantifier bodies (#2433)
Mathias Preiner [Wed, 5 Sep 2018 21:31:11 +0000 (14:31 -0700)]
Use std::uniqe_ptr for d_eq_infer to make Coverity happy. (#2432)
Andrew Reynolds [Wed, 5 Sep 2018 20:40:26 +0000 (15:40 -0500)]
Remove printing support for sygus enumeration types (#2430)
Andrew Reynolds [Wed, 5 Sep 2018 17:41:47 +0000 (12:41 -0500)]
Finer-grained inference of substitutions in incremental mode (#2403)
Andres Noetzli [Wed, 5 Sep 2018 14:49:59 +0000 (07:49 -0700)]
Add regex grammar to rewriter verification tests (#2426)
Andrew Reynolds [Wed, 5 Sep 2018 14:14:14 +0000 (09:14 -0500)]
Extended rewriter for string equalities (#2427)
Mathias Preiner [Wed, 5 Sep 2018 03:40:32 +0000 (20:40 -0700)]
Add HAVE_CLOCK_GETTIME guard to clock_gettime.c (#2428)
Andrew Reynolds [Tue, 4 Sep 2018 23:35:54 +0000 (18:35 -0500)]
Remove redundant strings rewrite. (#2422)
str.in.re( x, re.++( str.to.re(y), str.to.re(z) ) ) ---> x = str.++( y, z ) is not necessary since
re.++( str.to.re(y), str.to.re(z) ) -> str.to.re( str.++( y, z ) )
str.in.re( x, str.to.re( str.++(y, z) ) ) ---> x = str.++( y, z )
This PR removes the above rewrite, which was implemented incorrectly and was dead code.
Andres Noetzli [Tue, 4 Sep 2018 22:34:43 +0000 (15:34 -0700)]
Update INSTALL instructions (#2420)
Fixes #2419. This commit adds more information about optional
dependencies, updates macOS-related information, and fixes some details.
Andres Noetzli [Tue, 4 Sep 2018 21:59:19 +0000 (14:59 -0700)]
Remove CVC3 compatibility layer (#2418)
Andres Noetzli [Tue, 4 Sep 2018 21:12:52 +0000 (14:12 -0700)]
Remove unused options file (#2413)
Andrew Reynolds [Tue, 4 Sep 2018 20:18:12 +0000 (15:18 -0500)]
Minor improvements to theory model builder interface. (#2408)
Andrew Reynolds [Tue, 4 Sep 2018 19:34:21 +0000 (14:34 -0500)]
Make quantifiers strategies exit immediately when in conflict (#2099)
Aina Niemetz [Tue, 4 Sep 2018 18:35:50 +0000 (11:35 -0700)]
Transfer ownership of learned literals from SMT engine to circuit propagator. (#2421)
Aina Niemetz [Tue, 4 Sep 2018 17:51:41 +0000 (10:51 -0700)]
Fix merge mishap of #2359.
Andrew Reynolds [Tue, 4 Sep 2018 16:43:39 +0000 (11:43 -0500)]
Refactor ceg conjecture initialization (#2411)
Haniel Barbosa [Fri, 31 Aug 2018 23:10:57 +0000 (18:10 -0500)]
Allows SAT checks of repair const to have different options (#2412)
Andrew Reynolds [Fri, 31 Aug 2018 22:22:04 +0000 (17:22 -0500)]
Refactor and document alpha equivalence. (#2402)
Haniel Barbosa [Fri, 31 Aug 2018 20:08:40 +0000 (15:08 -0500)]
Fix export of bound variables (#2409)
Mathias Preiner [Thu, 30 Aug 2018 22:49:45 +0000 (15:49 -0700)]
Refactor theory preprocess into preprocessing pass. (#2395)
Andres Noetzli [Thu, 30 Aug 2018 17:22:47 +0000 (10:22 -0700)]
Use useBland option in FCSimplexDecisionProcedure (#2405)
Andrew Reynolds [Thu, 30 Aug 2018 16:57:58 +0000 (11:57 -0500)]
Add regular expression elimination module (#2400)
Mathias Preiner [Wed, 29 Aug 2018 21:38:33 +0000 (14:38 -0700)]
Refactor MipLibTrick preprocessing pass. (#2359)
Tim King [Wed, 29 Aug 2018 17:27:57 +0000 (10:27 -0700)]
Forcing attribute_internals.h to use uint64_t's for shift operations. (#2370)
Haniel Barbosa [Wed, 29 Aug 2018 16:06:05 +0000 (11:06 -0500)]
fix bv total ops printing (#2365)
Andrew Reynolds [Tue, 28 Aug 2018 23:32:15 +0000 (18:32 -0500)]
Split term canonize utility to own file and document (#2398)
Aina Niemetz [Tue, 28 Aug 2018 17:03:13 +0000 (10:03 -0700)]
Reorder circuit propagator class.
Aina Niemetz [Tue, 28 Aug 2018 16:53:58 +0000 (09:53 -0700)]
Move flag needsFinish from SMT engine to circuit propagator.
Andrew Reynolds [Tue, 28 Aug 2018 22:09:01 +0000 (17:09 -0500)]
Fix for get constraints method in fmf-fun (#2399)
Andrew Reynolds [Tue, 28 Aug 2018 20:25:12 +0000 (15:25 -0500)]
Solve equalities between Boolean variables in presolve. (#2390)
Andres Noetzli [Tue, 28 Aug 2018 19:35:35 +0000 (12:35 -0700)]
Remove throw specifiers in FP type checker (#2392)
Andres Noetzli [Tue, 28 Aug 2018 18:41:42 +0000 (11:41 -0700)]
Remove dead code in fp_converter (#2388)
This should fix Coverity issues
1473025 and
1459599.
Andrew Reynolds [Tue, 28 Aug 2018 15:39:48 +0000 (10:39 -0500)]
Fix sort inference for quantified variables of interpreted types (#2393)
Andrew Reynolds [Tue, 28 Aug 2018 03:41:50 +0000 (22:41 -0500)]
Address more coverity warnings (#2394)
Andrew Reynolds [Tue, 28 Aug 2018 02:48:48 +0000 (21:48 -0500)]
Fix warning in sygus io. (#2391)
Andres Noetzli [Tue, 28 Aug 2018 01:59:59 +0000 (18:59 -0700)]
Remove dead code in evaluator (#2389)
This should fix Coverity issue
1470214.
Andrew Reynolds [Tue, 28 Aug 2018 01:08:01 +0000 (20:08 -0500)]
Refactor extended rewriter, move rewrites to aggressive (#2387)
This is work towards #2305.
With this PR, CVC4's performance is fairly reasonable on the Kind2 BMC benchmarks with --decision=internal --ext-rew-prep --ext-rew-prep-agg.
Aina Niemetz [Tue, 28 Aug 2018 00:28:08 +0000 (17:28 -0700)]
New C++ API: Fix isDefinedKind() to not be ambigious with respect to … (#2384)
…underlying type.
Mathias Preiner [Mon, 27 Aug 2018 23:19:34 +0000 (16:19 -0700)]
Use std:unique_ptr instead of raw pointers in theory/bv. (#2385)
This should also fix CIDs
1465687,
1465695,
1465696, and
1465701.
Andres Noetzli [Mon, 27 Aug 2018 21:14:38 +0000 (14:14 -0700)]
Resolution proof: separate printing from proof (#1964)
Currently, we have an LFSCSatProof which inherits from TSatProof and
implements printing the proof. The seperation is not clean (e.g.
clauseName is used for printing only but is in TSatProof) and the
inheritance does not add any value while making dependencies more
confusing. The plan is that TSatProof becomes a self-contained part that
the MiniSat implementations generate and ProofManager prints out. This
commit is a first step in that direction. For SAT solvers with native
capabilities for producing proofs, we would simply implement a different
LFSC printer of their proof representation without changing the SAT
solver itself. The inheritance would make this awkward to deal with.
Additionally, the commit cleans up some unused functions and adjusts the
visibility of TSatProof methods and members.
Andrew Reynolds [Mon, 27 Aug 2018 17:26:14 +0000 (12:26 -0500)]
Make division chainable in the smt2 parser (#2367)
Andres Noetzli [Mon, 27 Aug 2018 16:13:52 +0000 (09:13 -0700)]
Remove Coverity build from Travis (#2373)
The Coverity build is now done as part of our nightlies and the Travis
Coverity build was timing out most of the time anyway, so this commit
removes it.
Andres Noetzli [Sun, 26 Aug 2018 21:31:16 +0000 (14:31 -0700)]
Use uniform length limit for String constants (#2381)
Andrew Reynolds [Sun, 26 Aug 2018 05:22:57 +0000 (00:22 -0500)]
Fix unsigned integer type issues in strings (#2380)
* Fix unsigned integer types in strings.
* Format
Andres Noetzli [Sun, 26 Aug 2018 04:09:22 +0000 (21:09 -0700)]
Refactor unconstrained simplification pass (#2374)
yoni206 [Sat, 25 Aug 2018 21:31:32 +0000 (14:31 -0700)]
Refactor quantifier macros preprocessing pass (#1840)
Moved `src/theory/quantifiers/macros.{cpp,h}` to `src/preprocessing/passes/quantifier_macros.{cpp,h}`,
and added the necessary methods for inheritance from PreprocessingPass.
No need to add a test - regress0 fails when adding Assert(false) when assertions had changed.
Haniel Barbosa [Sat, 25 Aug 2018 01:19:14 +0000 (20:19 -0500)]
Refactor nlExtPurify preprocessing pass (#1963)
Andrew Reynolds [Sat, 25 Aug 2018 00:40:36 +0000 (19:40 -0500)]
Clean up quantifiers engine initialization. (#2371)
Andrew Reynolds [Fri, 24 Aug 2018 23:49:22 +0000 (18:49 -0500)]
Fix more simple coverity warnings (#2372)
Andrew Reynolds [Fri, 24 Aug 2018 20:16:44 +0000 (15:16 -0500)]
Remove spurious disabling of cbqi-all (#2368)
Andres Noetzli [Fri, 24 Aug 2018 14:36:21 +0000 (07:36 -0700)]
Add tests that enumerate and verify rewrite rules (#2344)
Andrew Reynolds [Fri, 24 Aug 2018 01:34:40 +0000 (20:34 -0500)]
Do not print internally generated datatypes in external outputs with sygus (#2234)
Aina Niemetz [Fri, 24 Aug 2018 00:03:08 +0000 (17:03 -0700)]
New C++ API: Add checks for kind arguments. (#2369)
This should hopefully also take care of the open coverity issues for cvc4cpp.cpp.
Andres Noetzli [Thu, 23 Aug 2018 23:28:21 +0000 (16:28 -0700)]
Add missing overrides in unit tests (#2362)
Tim King [Thu, 23 Aug 2018 22:24:47 +0000 (15:24 -0700)]
Replacing allocatedInCMM and d_noTrash with false everywhere in cdhashmap (#2355)
There do not appear to be any instances these can be positive.
Haniel Barbosa [Thu, 23 Aug 2018 21:09:16 +0000 (16:09 -0500)]
Makes the filename be set in the SMT engine by default (#2366)
Andrew Reynolds [Thu, 23 Aug 2018 19:59:20 +0000 (14:59 -0500)]
Fixing some coverity warnings (#2357)
Andrew Reynolds [Thu, 23 Aug 2018 19:11:36 +0000 (14:11 -0500)]
Fix regression requiring proof build. (#2364)
Aina Niemetz [Thu, 23 Aug 2018 18:05:38 +0000 (11:05 -0700)]
Refactor ITE simplification preprocessing pass. (#2360)
Andres Noetzli [Thu, 23 Aug 2018 17:10:48 +0000 (10:10 -0700)]
Use "filename" instead of "name" in SmtEngine::setInfo() (#2361)
yoni206 [Thu, 23 Aug 2018 04:13:46 +0000 (21:13 -0700)]
global-negate preprocessing pass (#2317)
Andrew Reynolds [Thu, 23 Aug 2018 01:47:27 +0000 (20:47 -0500)]
More regressions that increase coverage (#2354)
Andrew Reynolds [Wed, 22 Aug 2018 22:40:22 +0000 (17:40 -0500)]
More unused code elimination (#2358)
yoni206 [Wed, 22 Aug 2018 21:36:13 +0000 (14:36 -0700)]
Generating less consistency lemmas in bv-ackermann preprocessing pass (#2253)
Tim King [Wed, 22 Aug 2018 20:09:39 +0000 (13:09 -0700)]
Wrapping TheorySetsPrivate in a unique_ptr. (#2356)
Andrew Reynolds [Wed, 22 Aug 2018 17:39:22 +0000 (12:39 -0500)]
Fix option for real2int regression. (#2353)
Haniel Barbosa [Wed, 22 Aug 2018 17:18:14 +0000 (12:18 -0500)]
Adds regression test for automatic generation of SyGuS BV grammars (#2345)
Andrew Reynolds [Wed, 22 Aug 2018 15:37:50 +0000 (10:37 -0500)]
Fix invalid iterator comparisons (#2349)
Andrew Reynolds [Wed, 22 Aug 2018 00:38:40 +0000 (19:38 -0500)]
Fix processing of nested Variable construct in sygus let bodies (#2351)
Tim King [Tue, 21 Aug 2018 22:25:00 +0000 (15:25 -0700)]
Removing unused bool members in command.cpp. Also initializes a bool member. (#2321)
Andrew Reynolds [Tue, 21 Aug 2018 21:38:26 +0000 (16:38 -0500)]
Warn and enable quantifiers when using sygus + logics with QF (#2352)
Haniel Barbosa [Tue, 21 Aug 2018 21:14:55 +0000 (16:14 -0500)]
Makes the new row propagation system default (#2335)
Mathias Preiner [Tue, 21 Aug 2018 20:33:01 +0000 (13:33 -0700)]
Move d_realAssertionsEnd from SmtEnginePrivate to AssertionPipeline. (#2350)
Tim King [Tue, 21 Aug 2018 19:58:05 +0000 (12:58 -0700)]
Add constexpr annotations to help coverity understand constant ... (#2314)
Andrew Reynolds [Tue, 21 Aug 2018 17:10:38 +0000 (12:10 -0500)]
Use cbqi-full for sygus (#2346)
Andres Noetzli [Tue, 21 Aug 2018 03:23:09 +0000 (20:23 -0700)]
Remove support for *.expect files in regressions (#2341)
Currently, we can optionally specify an *.expect file with the metadata
of a regression test. This commit removes that option because it was not
widely used, adds maintenance overhead and makes the transition to a new
build system more cumbersome. Regression files can still be fed to a
solver without removing the metadata first since they are in comments of
the corresponding input format (note that this was not always the case,
it changed in
efc6163629c6c5de446eccfe81777c93829995d5).
Aina Niemetz [Tue, 21 Aug 2018 02:13:49 +0000 (19:13 -0700)]
Fix initialization of d_smt in ValidityChecker for changes from #2240. (#2343)
Aina Niemetz [Tue, 21 Aug 2018 01:40:25 +0000 (18:40 -0700)]
Remove disabled system test cvc3_george. (#2342)
Disabled since 6 years, @mdeters commented when disabling it that it takes a very long time to build, see
868ee6d.
Andrew Reynolds [Tue, 21 Aug 2018 00:22:21 +0000 (19:22 -0500)]
More unused code elimination (#2339)