cvc5.git
7 years agoFix the merge of kbansal/card branch (2039eab).
Kshitij Bansal [Wed, 28 Sep 2016 16:03:08 +0000 (12:03 -0400)]
Fix the merge of kbansal/card branch (2039eab).

A bug was introduced in the cleanup process as preparation for the merge
(theory_sets_private.cpp, lines 2502-2508 in this commit).

7 years agoRemoving an unused iterator.
Tim King [Tue, 27 Sep 2016 16:20:11 +0000 (09:20 -0700)]
Removing an unused iterator.

7 years agoReverting part of the previous changes to unconstrained simplifier.
Tim King [Tue, 27 Sep 2016 16:18:34 +0000 (09:18 -0700)]
Reverting part of the previous changes to unconstrained simplifier.

7 years agoSimplifying control flow to avoid goto's in unconstrained_simplifier.cpp.
Tim King [Mon, 26 Sep 2016 04:34:40 +0000 (21:34 -0700)]
Simplifying control flow to avoid goto's in unconstrained_simplifier.cpp.

7 years agoAdding missing break statements.
Tim King [Mon, 26 Sep 2016 04:34:03 +0000 (21:34 -0700)]
Adding missing break statements.

7 years agoClosing an open file descriptor in MemoryMapFile.
Tim King [Mon, 26 Sep 2016 04:03:39 +0000 (21:03 -0700)]
Closing an open file descriptor in MemoryMapFile.

7 years agoFreeing memory in error handling code for bounded_token_buffer.
Tim King [Mon, 26 Sep 2016 03:53:23 +0000 (20:53 -0700)]
Freeing memory in error handling code for bounded_token_buffer.

7 years agoDeleting the eager bitblasting solver if present in TheoryBV.
Tim King [Mon, 26 Sep 2016 03:46:26 +0000 (20:46 -0700)]
Deleting the eager bitblasting solver if present in TheoryBV.

7 years agoAdding a destructor to QuantAntiSkolem.
Tim King [Mon, 26 Sep 2016 03:44:09 +0000 (20:44 -0700)]
Adding a destructor to QuantAntiSkolem.

7 years agoAdding a destructor to TermDb.
Tim King [Mon, 26 Sep 2016 03:28:30 +0000 (20:28 -0700)]
Adding a destructor to TermDb.

7 years agoAdding a destructor to CegqiOutputSingleInv.
Tim King [Mon, 26 Sep 2016 03:28:08 +0000 (20:28 -0700)]
Adding a destructor to CegqiOutputSingleInv.

7 years agoDeleting optional members of StrongSolverTheoryUF.
Tim King [Mon, 26 Sep 2016 02:43:11 +0000 (19:43 -0700)]
Deleting optional members of StrongSolverTheoryUF.

7 years agoDisambiguating a vector insert warning coming from coverity scan.
Tim King [Mon, 26 Sep 2016 01:32:40 +0000 (18:32 -0700)]
Disambiguating a vector insert warning coming from coverity scan.

7 years agoDeleting a temporary in theory sets enumerator.
Tim King [Mon, 26 Sep 2016 01:20:52 +0000 (18:20 -0700)]
Deleting a temporary in theory sets enumerator.

7 years agoDeleting the intermediate command singleton.
Tim King [Mon, 26 Sep 2016 01:10:23 +0000 (18:10 -0700)]
Deleting the intermediate command singleton.

7 years agoDisambiguating a type issue. Coverity scan reported a MISMATCHED_ITERATOR here.
Tim King [Mon, 26 Sep 2016 00:30:23 +0000 (17:30 -0700)]
Disambiguating a type issue. Coverity scan reported a MISMATCHED_ITERATOR here.

7 years agoAdding virtual destructors to several classes in expr.h .
Tim King [Sun, 25 Sep 2016 23:18:34 +0000 (16:18 -0700)]
Adding virtual destructors to several classes in expr.h .

7 years agoRemoving an unused iterator.
Tim King [Sun, 25 Sep 2016 22:52:57 +0000 (15:52 -0700)]
Removing an unused iterator.

7 years agoFixing a potential use after free coming from a pop_back() call invalidating strictly...
Tim King [Sun, 25 Sep 2016 22:49:52 +0000 (15:49 -0700)]
Fixing a potential use after free coming from a pop_back() call invalidating strictly earlier entries.

7 years agoIntegrating a working coverity_scan travis rule back into master.
Tim King [Sun, 25 Sep 2016 22:18:31 +0000 (15:18 -0700)]
Integrating a working coverity_scan travis rule back into 

7 years agoRemove duplicate code from my last commit
ajreynol [Wed, 21 Sep 2016 14:10:18 +0000 (09:10 -0500)]
Remove duplicate code from my last commit

7 years agoFixing an error in the previous travis commit.
Tim King [Wed, 21 Sep 2016 07:07:32 +0000 (00:07 -0700)]
Fixing an error in the previous travis commit.

7 years agoUpdating the travis file for coverity scan.
Tim King [Wed, 21 Sep 2016 06:50:49 +0000 (23:50 -0700)]
Updating the travis file for coverity scan.

7 years agoRefactor, separate theory-specific counterexample-guided instantiation.
ajreynol [Tue, 20 Sep 2016 22:46:13 +0000 (17:46 -0500)]
Refactor, separate theory-specific counterexample-guided instantiation.

7 years agoMore refactoring of cbqi. Add a few regressions. Add option for qcf.
ajreynol [Tue, 20 Sep 2016 21:02:14 +0000 (16:02 -0500)]
More refactoring of cbqi. Add a few regressions. Add option for qcf.

7 years agoMerge pull request #92 from timothy-king/travis-cpp11
Tim King [Mon, 19 Sep 2016 03:31:41 +0000 (20:31 -0700)]
Merge pull request #92 from timothy-king/travis-cpp11

Adding a gnu++11 rule to travis.

7 years agoAdding a gnu++11 rule to travis.
Tim King [Wed, 31 Aug 2016 04:31:59 +0000 (21:31 -0700)]
Adding a gnu++11 rule to travis.

7 years agoMinor fix for strings
ajreynol [Sun, 18 Sep 2016 22:21:17 +0000 (17:21 -0500)]
Minor fix for strings

7 years agoIn a ROW guard proof, if the transitivity proof does not have a disequality, we can...
guykatzz [Sat, 17 Sep 2016 00:18:56 +0000 (17:18 -0700)]
In a ROW guard proof, if the transitivity proof does not have a disequality, we can deduce that it is a constant-disequality proof and process it accordingly

7 years agoMerge branch 'master' of https://github.com/CVC4/CVC4
guykatzz [Sat, 17 Sep 2016 00:10:51 +0000 (17:10 -0700)]
Merge branch 'master' of https://github.com/CVC4/CVC4

7 years agoUse matching heuristics for EPR instantiation.
ajreynol [Sat, 17 Sep 2016 00:06:05 +0000 (19:06 -0500)]
Use matching heuristics for EPR instantiation.

7 years agoHandling a corner case where a ROW's guard is a constant disequality.
Guy [Fri, 16 Sep 2016 23:26:30 +0000 (16:26 -0700)]
Handling a corner case where a ROW's guard is a constant disequality.
If this is a simple proof (e.g., just 1 != 2), change the d_id from Transitivity to ConstantDisequality

7 years agoLet arith_proof print its own terms
Guy [Fri, 16 Sep 2016 22:43:47 +0000 (15:43 -0700)]
Let arith_proof print its own terms

7 years agoMore refactoring of cbqi, start developing new interface.
ajreynol [Fri, 16 Sep 2016 17:47:23 +0000 (12:47 -0500)]
More refactoring of cbqi, start developing new interface.

7 years agoFurther refactor cbqi.
ajreynol [Thu, 15 Sep 2016 23:44:04 +0000 (18:44 -0500)]
Further refactor cbqi.

7 years agoBegin refactoring of cbqi, remove a few dead options. Pre-skolemize by default in...
ajreynol [Thu, 15 Sep 2016 21:10:20 +0000 (16:10 -0500)]
Begin refactoring of cbqi, remove a few dead options. Pre-skolemize by default in EPR mode.

7 years agoMake sep pto a trigger kind, track in equality engines and term database.
ajreynol [Thu, 15 Sep 2016 19:04:50 +0000 (14:04 -0500)]
Make sep pto a trigger kind, track in equality engines and term database.

7 years agoRefactor setIncomplete in quantifiers.
ajreynol [Thu, 15 Sep 2016 15:43:28 +0000 (10:43 -0500)]
Refactor setIncomplete in quantifiers.

7 years agoSupport for unique variable generation in node manager.
ajreynol [Wed, 14 Sep 2016 21:41:27 +0000 (16:41 -0500)]
Support for unique variable generation in node manager.

7 years agoLemma cache in theory sep. Minor optimization for sets. Minor improvements to EPR
ajreynol [Wed, 14 Sep 2016 15:42:39 +0000 (10:42 -0500)]
Lemma cache in theory sep. Minor optimization for sets. Minor improvements to EPR

7 years agoMinor changes to sep logic, epr, quantifier splitting.
ajreynol [Tue, 13 Sep 2016 18:36:28 +0000 (13:36 -0500)]
Minor changes to sep logic, epr, quantifier splitting.

7 years agoRefactor prenex modes.
ajreynol [Mon, 12 Sep 2016 20:48:11 +0000 (15:48 -0500)]
Refactor prenex modes.

7 years agoRemove old implementation of cbqi
ajreynol [Mon, 12 Sep 2016 19:45:38 +0000 (14:45 -0500)]
Remove old implementation of cbqi

7 years agoPrefer non-cardinality constants in term models for sep logic.
ajreynol [Mon, 12 Sep 2016 19:28:29 +0000 (14:28 -0500)]
Prefer non-cardinality constants in term models for sep logic.

7 years agoEnsure sep.nil is unique per type at NodeManager level. Add simple symmetry breaking...
ajreynol [Mon, 12 Sep 2016 18:43:02 +0000 (13:43 -0500)]
Ensure sep.nil is unique per type at NodeManager level. Add simple symmetry breaking in theory sep.

7 years agoFix bug in unconstrained simplifier related to sep.nil/distinguished variables.
ajreynol [Fri, 9 Sep 2016 20:01:20 +0000 (15:01 -0500)]
Fix bug in unconstrained simplifier related to sep.nil/distinguished variables.

7 years agoSupport for separation logic + EPR. Refactor preprocessing of sep.nil, only allow...
ajreynol [Fri, 9 Sep 2016 19:14:09 +0000 (14:14 -0500)]
Support for separation logic + EPR. Refactor preprocessing of sep.nil, only allow sep disequal card constants when type is monotonic.  Update logics on sep regressions.

7 years agoRefactor seplog preprocess. Handle case where sep data type cannot be inferred.
ajreynol [Thu, 8 Sep 2016 20:14:19 +0000 (15:14 -0500)]
Refactor seplog preprocess. Handle case where sep data type cannot be inferred.

7 years agoMiniscope top level conjunctions for prenex normal form, allow one level miniscoping...
ajreynol [Sat, 3 Sep 2016 22:40:18 +0000 (17:40 -0500)]
Miniscope top level conjunctions for prenex normal form, allow one level miniscoping in prenex normal form.

7 years agoOption for prenex normal form
ajreynol [Sat, 3 Sep 2016 18:03:31 +0000 (13:03 -0500)]
Option for prenex normal form

7 years agoMerge pull request #91 from timothy-king/no-throw
Tim King [Fri, 2 Sep 2016 05:10:57 +0000 (22:10 -0700)]
Merge pull request #91 from timothy-king/no-throw

Relaxing the throw specifiers for the destructors for Node, TypeNode,…

7 years agoFix boolean term issue in invariants from sygus. Minor default options changes for...
ajreynol [Thu, 1 Sep 2016 21:35:06 +0000 (16:35 -0500)]
Fix boolean term issue in invariants from sygus. Minor default options changes for cbqi.

7 years agoCleanup quantifier elimination in smt engine.
ajreynol [Thu, 1 Sep 2016 15:20:48 +0000 (10:20 -0500)]
Cleanup quantifier elimination in smt engine.

7 years agoUpdates to cbqi. New strategy --cbqi-nested-qe to do qe on nested quantifiers during...
ajreynol [Wed, 31 Aug 2016 22:44:42 +0000 (17:44 -0500)]
Updates to cbqi.  New strategy --cbqi-nested-qe to do qe on nested quantifiers during instantiation. Decide on innermost ce lits first, register nested counterexample lemmas eagerly.

7 years agoRelaxing the throw specifiers for the destructors for Node, TypeNode, the context...
Tim King [Thu, 1 Sep 2016 08:28:02 +0000 (01:28 -0700)]
Relaxing the throw specifiers for the destructors for Node, TypeNode, the context/ classes, and their subclasses. Fixes compilation issues with clang 3.5 and -std=c++11 'exception specification of overriding function is more lax than base version' for a couple of different classes.

7 years agoRemoving the forward declaration of QuantInfo from rewrite_engine.h.
Tim King [Thu, 1 Sep 2016 06:06:39 +0000 (23:06 -0700)]
Removing the forward declaration of QuantInfo from rewrite_engine.h.

7 years agoCleaning up the dead FORIT macros.
Tim King [Wed, 31 Aug 2016 22:59:26 +0000 (15:59 -0700)]
Cleaning up the dead FORIT macros.

7 years agoRemoving the usage of typeof from theory_sets_private.
Tim King [Wed, 31 Aug 2016 22:58:21 +0000 (15:58 -0700)]
Removing the usage of typeof from theory_sets_private.

7 years agoBeautifying theory_model.h.
Tim King [Wed, 31 Aug 2016 22:55:34 +0000 (15:55 -0700)]
Beautifying theory_model.h.

7 years agoRemoving BOOST_FOREACH from theory/sets/scrutinize.h.
Tim King [Wed, 31 Aug 2016 22:55:06 +0000 (15:55 -0700)]
Removing BOOST_FOREACH from theory/sets/scrutinize.h.

7 years agoRemoving typeof from sets normal form and beautifying the file.
Tim King [Wed, 31 Aug 2016 22:54:23 +0000 (15:54 -0700)]
Removing typeof from sets normal form and beautifying the file.

7 years agoRemoving typeof from command_executor_portfolio.cpp.
Tim King [Wed, 31 Aug 2016 22:52:41 +0000 (15:52 -0700)]
Removing typeof from command_executor_portfolio.cpp.

7 years agoRemoving typeof from didyoumean.cpp.
Tim King [Wed, 31 Aug 2016 22:35:06 +0000 (15:35 -0700)]
Removing typeof from didyoumean.cpp.

8 years agoBasic support for EPR+CBQI. Minor cleanup.
ajreynol [Fri, 26 Aug 2016 21:27:57 +0000 (16:27 -0500)]
Basic support for EPR+CBQI. Minor cleanup.

8 years agoMinor cleanup preprocessing, add ppNotifyAssertions.
ajreynol [Thu, 25 Aug 2016 20:41:27 +0000 (15:41 -0500)]
Minor cleanup preprocessing, add ppNotifyAssertions.

8 years agoOptions for counterexample guided instantiation.
ajreynol [Thu, 25 Aug 2016 18:50:45 +0000 (13:50 -0500)]
Options for counterexample guided instantiation.

8 years agoFixed two bugs
Clark Barrett [Sat, 20 Aug 2016 02:42:20 +0000 (19:42 -0700)]
Fixed two bugs

8 years agoAdded fitsSignedLong and fitsUnsignedLong
Clark Barrett [Fri, 19 Aug 2016 23:39:43 +0000 (16:39 -0700)]
Added fitsSignedLong and fitsUnsignedLong

8 years agoInitial infrastructure for ExtTheory, generalize extended term handling in TheoryStri...
ajreynol [Tue, 16 Aug 2016 17:24:58 +0000 (12:24 -0500)]
Initial infrastructure for ExtTheory, generalize extended term handling in TheoryStrings to use this.

8 years agoExpression sharing on demand in LFSC (replace definitionally equivalent child argumen...
ajreynol [Mon, 15 Aug 2016 21:30:07 +0000 (16:30 -0500)]
Expression sharing on demand in LFSC (replace definitionally equivalent child arguments after successful comparison).

8 years agoEnable bounded set membership with --fmf-bound. Map to term models for bounded set...
ajreynol [Mon, 15 Aug 2016 16:30:17 +0000 (11:30 -0500)]
Enable bounded set membership with --fmf-bound. Map to term models for bounded set membership.

8 years agoAdd a few more regressions.
ajreynol [Fri, 12 Aug 2016 17:47:54 +0000 (12:47 -0500)]
Add a few more regressions.

8 years agoMinor fixes to model construction to take singleton equivalence classes into account...
ajreynol [Fri, 12 Aug 2016 17:09:45 +0000 (12:09 -0500)]
Minor fixes to model construction to take singleton equivalence classes into account (fixes sets+dt model bug). Minor fix for mixed int/real quantifier instantiation.

8 years agoMerge pull request #90 from 4tXJ7f/fewer_preproc_holes
guykatzz [Fri, 12 Aug 2016 14:48:43 +0000 (07:48 -0700)]
Merge pull request #90 from 4tXJ7f/fewer_preproc_holes

Add support for fewer preprocessing holes

8 years agoAdd support for fewer preprocessing holes
Andres Notzli [Wed, 10 Aug 2016 02:24:28 +0000 (19:24 -0700)]
Add support for fewer preprocessing holes

This commit adds support for the --fewer-preprocessing-holes flag. This
flag changes the preprocessing part in proofs in two ways: it (1)
removes assertions that are just restating inputs and uses the inputs
directly instead and it (2) changes the form of the preprocessed
assertions to contain the input that they originate from.

The code in this commit is mostly taken from the proofs branch in Guy's
fork.

8 years agoMinor change to strings, introduce proxy vars only when necessary.
ajreynol [Thu, 11 Aug 2016 14:03:47 +0000 (09:03 -0500)]
Minor change to strings, introduce proxy vars only when necessary.

8 years agoImprovements to strings: work on propagations for reverse normal form processing...
ajreynol [Wed, 10 Aug 2016 22:36:45 +0000 (17:36 -0500)]
Improvements to strings: work on propagations for reverse normal form processing. Better handling of disequalities, constant splitting and neg contain approximation. Introduce proxy vars for replace. Refactoring.

8 years agoMerge pull request #89 from 4tXJ7f/fix_proof_spaces
guykatzz [Tue, 9 Aug 2016 21:17:23 +0000 (14:17 -0700)]
Merge pull request #89 from 4tXJ7f/fix_proof_spaces

Fix missing/redundant spaces in proofs

8 years agoFixes for sep star rewrite.
ajreynol [Tue, 9 Aug 2016 18:11:07 +0000 (13:11 -0500)]
Fixes for sep star rewrite.

8 years agoFix missing/redundant spaces in proofs
Andres Notzli [Tue, 9 Aug 2016 03:33:24 +0000 (20:33 -0700)]
Fix missing/redundant spaces in proofs

Before, in some cases, e.g. when printing sorts and in resolution
proofs, the proofs contained redundant and/or missing spaces. With this
commit, CVC4 now prints out `(trust_f (= (Array Index Element) let10
let12)` instead of `(trust_f (= (Array Index  Element )let10 let12))`.

8 years agoMerge pull request #88 from 4tXJ7f/fix_comments
guykatzz [Sat, 6 Aug 2016 06:23:23 +0000 (23:23 -0700)]
Merge pull request #88 from 4tXJ7f/fix_comments

Minor: add/fix comments, remove redundant includes

8 years agoMinor: add/fix comments, remove redundant includes
Andres Notzli [Thu, 4 Aug 2016 22:12:54 +0000 (15:12 -0700)]
Minor: add/fix comments, remove redundant includes

8 years agoFixed an issue where arrays proofs would sometimes have an extra ")" at the end.
Guy [Wed, 3 Aug 2016 22:51:22 +0000 (15:51 -0700)]
Fixed an issue where arrays proofs would sometimes have an extra ")" at the end.

8 years agoMerge pull request #87 from 4tXJ7f/fix_oob_access
barrettcw [Wed, 3 Aug 2016 20:59:04 +0000 (13:59 -0700)]
Merge pull request #87 from 4tXJ7f/fix_oob_access

Fix out-of-bounds access in ExprManager

8 years agoPrioritize inferences when processing normal forms in strings.
ajreynol [Sat, 30 Jul 2016 14:44:42 +0000 (09:44 -0500)]
Prioritize inferences when processing normal forms in strings.

8 years agoThe "aggressive" optimizer for lemma L now returns the conjunction of all lemmas...
Guy [Thu, 28 Jul 2016 20:40:36 +0000 (13:40 -0700)]
The "aggressive" optimizer for lemma L now returns the conjunction of all lemmas L' that originated from L and were used in the unsat core

8 years agoMerge branch 'master' of https://github.com/CVC4/CVC4
Guy [Thu, 28 Jul 2016 18:24:59 +0000 (11:24 -0700)]
Merge branch 'master' of https://github.com/CVC4/CVC4

8 years agoBug fix involving negated lemmas
Guy [Thu, 28 Jul 2016 18:24:07 +0000 (11:24 -0700)]
Bug fix involving negated lemmas

8 years agoFix bug 749.
ajreynol [Thu, 28 Jul 2016 16:21:59 +0000 (11:21 -0500)]
Fix bug 749.

8 years agoAdd the negative conjunction case
Guy [Thu, 28 Jul 2016 16:01:52 +0000 (09:01 -0700)]
Add the negative conjunction case

8 years agoFix out-of-bounds access in ExprManager
Andres Notzli [Wed, 27 Jul 2016 21:06:56 +0000 (14:06 -0700)]
Fix out-of-bounds access in ExprManager

The size of `d_exprStatisticsVars` was `LAST_TYPE` which was not enough
because the INC_STAT macro tries to access
`d_exprStatisticsVars[LAST_TYPE]` in some cases, resulting in an
out-of-bounds access. Found bug with UBSan.

8 years agoProper instrumentation of the preprocessing phase
Guy [Thu, 28 Jul 2016 02:03:13 +0000 (19:03 -0700)]
Proper instrumentation of the preprocessing phase

8 years agoproper handling of ITEs
Guy [Thu, 28 Jul 2016 01:17:41 +0000 (18:17 -0700)]
proper handling of ITEs

8 years agoProper handling of IFF lemmas in the unsat core.
Guy [Wed, 27 Jul 2016 21:27:05 +0000 (14:27 -0700)]
Proper handling of IFF lemmas in the unsat core.
Don't return duplicates in the unsat core

8 years agoAdded an option for a more aggressive weakest implicant optimization
Guy [Wed, 27 Jul 2016 19:54:29 +0000 (12:54 -0700)]
Added an option for a more aggressive weakest implicant optimization

8 years agoIf we can't find a weaker implicant, fail gracefully and return the original lemma
Guy [Wed, 27 Jul 2016 16:46:24 +0000 (09:46 -0700)]
If we can't find a weaker implicant, fail gracefully and return the original lemma

8 years agoMerge pull request #86 from 4tXJ7f/fix_warnings
guykatzz [Wed, 27 Jul 2016 05:07:35 +0000 (22:07 -0700)]
Merge pull request #86 from 4tXJ7f/fix_warnings

Fix warnings in src/proof

8 years agoFix warnings in src/proof
Andres Notzli [Wed, 27 Jul 2016 04:07:24 +0000 (21:07 -0700)]
Fix warnings in src/proof

Fix warning due to `ProofLetCount` being defined as `struct` in
`proof_utils.h` and `class` in `proof.h`. Fix warnings due to different
number of arguments of `printConstantDisequalityProof()` and
`printTheoryLemmaProof()` in subclasses.

8 years agoMerge branch 'master' of https://github.com/CVC4/CVC4
Guy [Tue, 26 Jul 2016 23:38:06 +0000 (16:38 -0700)]
Merge branch 'master' of https://github.com/CVC4/CVC4

8 years agoBug fix:
Guy [Tue, 26 Jul 2016 23:37:57 +0000 (16:37 -0700)]
Bug fix:
If a lemma (a disjunction) has a "false" literal in it, it can be ignored, but a "true" literal really should stay