justinxu421 [Mon, 11 Dec 2017 00:39:02 +0000 (16:39 -0800)]
Add new infrastructure for preprocessing passes (#1053)
This commit adds new infrastructure for preprocessing passes. It is preparation only, it does not change how the current preprocessing passes work (this will be done in future commits).
Andrew Reynolds [Sun, 10 Dec 2017 11:12:22 +0000 (05:12 -0600)]
Fix issue 1433. (#1435)
Andres Noetzli [Sun, 10 Dec 2017 08:48:05 +0000 (00:48 -0800)]
Fix issue with mkConst/getConst of TypeConstant (#1439)
When compiling the Java bindings on macOS, the linker complained about
CVC4::ExprManager::mkConst<CVC4::TypeConstant>() and
CVC4::Expr::getConst<CVC4::TypeConstant>() being undefined. After some
research, I found that the issue has been introduced by commit
36bf9f8bcb2a1a3aea1f90eb4d13aed3bbf6da8f. It looks like adding the
-no-undefined flags resulted in the symbols in question being omitted
due to TypeConstant not being exported. This commit makes TypeConstant
CVC4_PUBLIC, which fixes the issue.
Mathias Preiner [Sat, 9 Dec 2017 01:36:15 +0000 (17:36 -0800)]
Add CEGQI BV linearization of additions and equalities over additions. (#1417)
Adds support for linearizing additions w.r.t. to a variable.
For example,
a * x + b + c * d * -x = e + x
is rewritten to
x * (a - c * d - 1) = e - b.
This also adds an additional rewriting rule x * x = x --> x < 2.
Aina Niemetz [Fri, 8 Dec 2017 22:32:16 +0000 (14:32 -0800)]
Fixed side conditions for CBQI BV, added unit tests. (#1434)
This fixes the side conditions for BITVECTOR_UREM_TOTAL, BITVECTOR_UDIV_TOTAL,
BITVECTOR_LSHR, BITVECTOR_ASHR, BITVECTOR_SHL.
It refactors side condition generation for better readability and unit testing.
It further adds unit tests for all side conditions we generate in order to check if they too weak
or to restrictive (which may result in unsound behavior).
This is achieved by checking the following two implications:
not (exists x. s * x = t => SC) ... if sat, SC is too restrictive
not (SC => exists x. s * x = t) ... if sat SC is too weak
This simplifies to checking not (SC <=> exists x. s * x = t).
Andrew Reynolds [Fri, 8 Dec 2017 19:54:00 +0000 (13:54 -0600)]
Document and clean datatypes rewriter (#1437)
Andrew Reynolds [Fri, 8 Dec 2017 16:14:31 +0000 (10:14 -0600)]
Make collect model info return a Bool (#1421)
Andrew Reynolds [Thu, 7 Dec 2017 10:07:17 +0000 (04:07 -0600)]
Fixes related to SyGuS + real arithmetic (#1432)
Andrew Reynolds [Thu, 7 Dec 2017 02:57:44 +0000 (20:57 -0600)]
Add command for define-fun-rec and add to API (#1412)
Aina Niemetz [Wed, 6 Dec 2017 20:35:18 +0000 (12:35 -0800)]
Fixed time stats for MiniSat solve time. (#1431)
Also, moved implementation of BVMinisatSatSolver::MinisatNotify::notify to .cpp file.
Andres Noetzli [Wed, 6 Dec 2017 12:45:06 +0000 (04:45 -0800)]
Remove CDChunkList (#1414)
Mathias Preiner [Tue, 5 Dec 2017 20:18:37 +0000 (12:18 -0800)]
Fix output of --show-trace-tags. (#1430)
Now prints each tag in a separate line.
Haniel Barbosa [Tue, 5 Dec 2017 02:06:47 +0000 (20:06 -0600)]
Adding SyGuS grammars for rationals. (#1426)
Andrew Reynolds [Mon, 4 Dec 2017 21:42:00 +0000 (15:42 -0600)]
Eliminate expand definitions from Sygus (#1425)
Andrew Reynolds [Mon, 4 Dec 2017 20:18:16 +0000 (14:18 -0600)]
Fix strings rewriter for strip constant endpoint reverse direction (#1424)
Mathias Preiner [Mon, 4 Dec 2017 18:43:40 +0000 (10:43 -0800)]
Fix side condition for BITVECTOR_MULT. (#1422)
Haniel Barbosa [Sun, 3 Dec 2017 19:18:42 +0000 (13:18 -0600)]
Normalize grammars - 2 (#1420)
This is another step towards addressing #1304 and #1344. This pull request:
- Refactors SygusGrammarNorm
- Makes SyGusGrammarNorm a default component in the construction of grammar. The linearization of grammars however only occurs if the option --sygus-grammar-norm is used.
- Performs a "chain transformation" in the application of the PLUS operator in integer grammars
- Removes redundant expansions of definitions from TermDbSygus
- Adds a default empty print callback to SygusEmptyPrintCallback
This lays the basis for more general linearizations.
Andrew Reynolds [Sat, 2 Dec 2017 12:14:12 +0000 (06:14 -0600)]
Minor improvements to inst match generator (#1415)
Andrew Reynolds [Sat, 2 Dec 2017 02:03:03 +0000 (20:03 -0600)]
Improve rewriter for string replace (#1416)
Andres Noetzli [Fri, 1 Dec 2017 23:10:12 +0000 (15:10 -0800)]
Fix reset-assertions (#1413)
This commit fixes two issues with reset-assertions:
- pending pops were not done in SmtEngine, resulting in the following
assertion failure:
d_userLevels.size() == 0 && d_userContext->getLevel() == 1
- all definitions were erased on reset-assertion in an SMT2 file,
leading to errors about undefined types
Andrew Reynolds [Fri, 1 Dec 2017 17:43:02 +0000 (11:43 -0600)]
Minor additions for sygus (#1419)
Andrew Reynolds [Fri, 1 Dec 2017 15:07:42 +0000 (09:07 -0600)]
Refactor and generalize PBE strategies (#1410)
Andres Noetzli [Fri, 1 Dec 2017 09:55:16 +0000 (01:55 -0800)]
Fix build when Valgrind instrumentation enabled
My last commit for the Valgrind instrumentation contained a typo that
made the nightlies fail. This commit fixes the issue.
Andres Noetzli [Fri, 1 Dec 2017 03:00:23 +0000 (19:00 -0800)]
Add debugging tools for ContextMemoryManager (#1407)
This commit adds two configuration options that help debugging memory
issues with allocations in the ContextMemoryManager:
--enable/disable-valgrind: This flag enables/disables Valgrind
instrumentation of the ContextMemoryManager. Enabled by default for
debug builds if the Valgrind headers are available.
--enable/disable-context-memory-manager: This flag enables/disables the
use of the ContextMemoryManager. If the flag is disableda dummy
ContextMemoryManager is used that does single allocations instead of
chunks. The flag is enabled by default.
Aina Niemetz [Thu, 30 Nov 2017 23:50:00 +0000 (15:50 -0800)]
Add Gaussian Elimination as a preprocessing pass for BV. (#1342)
This adds Gaussian Elimination as a preprocessing pass for BV. Gaussian Elimination is only applied if the given bit-width guarantees that no overflows can occur.
Andrew Reynolds [Thu, 30 Nov 2017 15:57:06 +0000 (09:57 -0600)]
Fixes for issue 1404 (#1409)
Andrew Reynolds [Thu, 30 Nov 2017 12:33:23 +0000 (06:33 -0600)]
Remove remaining references to QuantArith (#1408)
Andrew Reynolds [Thu, 30 Nov 2017 00:17:16 +0000 (18:17 -0600)]
Minor improvements and changes to defaults for cbqi bv (#1406)
This
makes it so that --cbqi-bv tries at most 2 instantiations per quantified formula (one based on inversions when applicable, one based on model values). This makes it so that we do not have exponential run time in the worst case. This helps significantly for psyco benchmarks which have many quantified variables.
Enables --cbqi-bv by default and changes the default inequality mode to eq-boundary (which is the best performer overall), also enables extract removal by default
Allows cbqiNestedQE to be used in the BV logic.
Adds an option --cbqi-full which indicates whether we should try model value instantiations for bit-vectors (by default, this is done only for the pure BV logic).
Andrew Reynolds [Wed, 29 Nov 2017 22:11:09 +0000 (16:11 -0600)]
Improve caching in term formula removal (#1398)
Tim King [Wed, 29 Nov 2017 18:55:50 +0000 (10:55 -0800)]
Adding missing break statements. CID
1362756. (#1394)
Tim King [Wed, 29 Nov 2017 16:43:38 +0000 (08:43 -0800)]
Simplifying the conditions in checkLetBinding to avoid using iterator… (#1372)
Mathias Preiner [Wed, 29 Nov 2017 04:11:36 +0000 (20:11 -0800)]
Add Cryptominisat script and patches to source file distribution.
This enables building CVC4 from a source release with Cryptominisat support.
Andrew Reynolds [Wed, 29 Nov 2017 01:48:53 +0000 (19:48 -0600)]
Improve the rewriter for SINE. (#1221)
Andrew Reynolds [Tue, 28 Nov 2017 21:53:22 +0000 (15:53 -0600)]
Improve rewrite for string substr (#1337)
Andrew Reynolds [Tue, 28 Nov 2017 19:35:28 +0000 (13:35 -0600)]
Improve trigger filter instances (#1402)
Tim King [Tue, 28 Nov 2017 17:07:14 +0000 (09:07 -0800)]
Removing throw specifiers from internal Printer hierarchy. (#1393)
Andrew Reynolds [Tue, 28 Nov 2017 01:23:49 +0000 (19:23 -0600)]
Fix models for --solve-real-as-int. (#1371)
Andrew Reynolds [Sat, 25 Nov 2017 20:12:00 +0000 (14:12 -0600)]
Fixes for higher-order (#1405)
Andrew Reynolds [Sat, 25 Nov 2017 01:08:41 +0000 (19:08 -0600)]
(Refactor) Instantiate utility (#1387)
Andrew Reynolds [Fri, 24 Nov 2017 12:44:46 +0000 (06:44 -0600)]
Implement tangent and secant planes for transcendental functions (#1401)
Andrew Reynolds [Fri, 24 Nov 2017 02:07:19 +0000 (20:07 -0600)]
Ho parsing and regressions (#1350)
Haniel Barbosa [Thu, 23 Nov 2017 03:56:35 +0000 (21:56 -0600)]
Converting defined functions and let expressions from Sygus grammars to lambdas (#1403)
This partially solves issue #1344. Definitions are expanded when the grammar normalizer is called. When this becomes default then the code that expands definitions elsewhere will be removed.
The PR also contains minor changes to the PrintCallback and SygusGrammarNormalize module.
Andrew Reynolds [Wed, 22 Nov 2017 20:25:59 +0000 (14:25 -0600)]
Sygus Lambda Grammars (#1390)
Andrew Reynolds [Wed, 22 Nov 2017 18:56:13 +0000 (12:56 -0600)]
Transcendental tangent planes utilities (#1288)
Haniel Barbosa [Tue, 21 Nov 2017 23:33:35 +0000 (17:33 -0600)]
Adding infrastructure for normalizing SyGuS grammars (#1397)
* minor
Using string previously computed
* adding option
* starting module for simplifying grammars
* more
* more
* fix
* fix
* fix
* fix
* fix
* removing unused command
* removing unused command
* removing unnecessary quantifier engine
* adding lambda support
* transient
* reverting changes
* starting normalization of integers
* removing unnecessary objects
* using for_each
* rebuilding given datatypes
* recrating types as given
* bug fixing
* minor
* reverting space changes
* addressing review
* addressing review
Andrew Reynolds [Tue, 21 Nov 2017 20:02:24 +0000 (14:02 -0600)]
Cegqi bv remove extract terms preprocess pass (#1376)
* Preprocess extract -> concat pass for cegqi bv.
* Add sygus bench
* Fixes, infrastructure.
* Minor fixes.
* Try
* Minor
* Minor
* Document
* Format
* Improving debug messages.
* Address
* Format
* Overlapping extracts.
* Format
* Minor
* Address review.
* Format
* Comment
* Format
Tim King [Mon, 20 Nov 2017 13:19:30 +0000 (05:19 -0800)]
Initializes members of QuantInfo. Resolves CID
1362929. (#1391)
Tim King [Mon, 20 Nov 2017 06:24:53 +0000 (22:24 -0800)]
Removing an unused variable from SygusInput. Resolves CID
1362932. (#1392)
Andrew Reynolds [Sun, 19 Nov 2017 02:00:37 +0000 (20:00 -0600)]
Ho instantiation (#1204)
* Higher-order instantiation.
* Add missing files.
* Document inst match generators, make collectHoVarApplyTerms iterative.
* More documentation.
* More documentation.
* More documentation.
* More documentation
* Refactoring, documentation.
* More documentation.
* Fix comment, reference issue.
* More documentation. Fix ho trigger for the changes from master.
* Minor
* More documentation.
* More documentation.
* More
* More documentation, make indexing and lookup in TriggerTrie iterative instead of recursive.
* More
* Minor improvements to comments.
* Remove an unimplemented optimization from an old version of cached multi-trigger matching. Update and improve documentation in inst match generator.
* Improve documentation for ho_trigger.
* Update ho trigger to not access now private member of TermDb.
* Address comments.
* Address
* Clang format
Tim King [Sun, 19 Nov 2017 00:27:46 +0000 (16:27 -0800)]
Names the Effort enum of QuantConflictFind class. (#1354)
* Changes the Effort level of QuantConflictFind to an enum class. Adding a third value to the enum to indicate not being set. Minor refactoring related to this change. Resolves CID
1172043.
* Fixing a missed assertion. Fixing a few compiler warnings.
* Switching back to an enum from an enum class.
Andrew Reynolds [Fri, 17 Nov 2017 21:19:25 +0000 (15:19 -0600)]
(Refactor) Document and clean single invocation partition. (#1364)
* Documenting single invocation partiion.
* More
* More encapsulation.
* More, documentation complete.
* Split to own file.
* Format
* Fully encapsulate.
* Format
* Improvements to doc.
* Format
* Address
* Format
* Missed comment
* Newline
* Address
* Format
Aina Niemetz [Fri, 17 Nov 2017 17:44:13 +0000 (09:44 -0800)]
Add random number generator. (#1370)
This adds a deterministic (seeded) random number generator (RNG). It implements the xorshift* generator (see S. Vigna, An experimental exploration of Marsaglia's xorshift generators, scrambled. ACM Trans. Math. Softw. 42(4): 30:1-30:23, 2016).
Andrew Reynolds [Thu, 16 Nov 2017 20:09:30 +0000 (14:09 -0600)]
(Refactor) Arithmetic monomial sum (#1381)
* Add arithmetic monomial sum utility.
* Clang format
* Fix
* Address review.
* Fix missed comment.
* Format
* Fix
Tim King [Thu, 16 Nov 2017 02:17:56 +0000 (18:17 -0800)]
Initializes BitVectorProof::d_isAssumptionConflict. Resolves CID
1362898. (#1374)
Andrew Reynolds [Wed, 15 Nov 2017 22:48:26 +0000 (16:48 -0600)]
Sygus print callbacks (#1348)
* Initial infrastructure for sygus printing.
* Minor
* Minor improvements
* Format
* Minor
* Empty constructor printer.
* Format
* Minor
* Format
* Address.
Andrew Reynolds [Wed, 15 Nov 2017 19:38:45 +0000 (13:38 -0600)]
Reenable some regressions, minor. (#1369)
Tim King [Wed, 15 Nov 2017 17:40:20 +0000 (09:40 -0800)]
Removes an unused variable from Theory. (#1375)
Tim King [Wed, 15 Nov 2017 15:22:08 +0000 (07:22 -0800)]
Initializing members of Datatype. Addresses CIDs
1362897,
1362912,
1362923 and
1362931. (#1373)
Tim King [Wed, 15 Nov 2017 10:58:30 +0000 (02:58 -0800)]
Adding garbage collection for Proof objects. (#1294)
Andrew Reynolds [Wed, 15 Nov 2017 01:06:49 +0000 (19:06 -0600)]
Make QEffort an enum (#1366)
* Make QEffort an enum.
* Format
* Minor
* Fix
Andrew Reynolds [Tue, 14 Nov 2017 23:04:14 +0000 (17:04 -0600)]
(Refactor) Split sygus term db (#1335)
* Split explain utility, invariance tests.
* Split extended rewriter.
* Remove unused function.
* Minor
* Move generic term utilities to term_util.
* Documentation, minor.
* Make arguments private in eval invariance.
* Document
* More documentation.
* Clang format.
* Fix, improve.
* Format
* Address review.
* Address missed comment.
* Add line breaks
* Format
Andrew Reynolds [Tue, 14 Nov 2017 19:42:48 +0000 (13:42 -0600)]
Clean Ceg Instantiators (#1365)
* Initial setup for preprocessing counterexample lemmas.
* Improve documentation.
* Improving documentation, infrastructure.
* Extraction -> concatentation as a preprocess step.
* Clang format
* Minor
* Make option, refactor effort levels.
* Format
* Clean
* Format
* Rename
* Format
* More
* Format
* Splitting changes.
* Format
* Revert option.
* Minor
* Format
Tim King [Tue, 14 Nov 2017 15:30:36 +0000 (07:30 -0800)]
Cleaning up exporting vectors within commands. Resolves CID
1172285 and
1172284. (#1362)
Tim King [Tue, 14 Nov 2017 13:08:53 +0000 (05:08 -0800)]
Initializes InstPropagator::d_has_relevant_inst. Resolves
1362891. (#1360)
* Initializes InstPropagator::d_has_relevant_inst. Resolves
1362891.
* Initializing to false explicitly.
Tim King [Tue, 14 Nov 2017 07:25:59 +0000 (23:25 -0800)]
Initializes RegExpOpr::d_char_start and d_char_end. (#1359)
Tim King [Tue, 14 Nov 2017 05:00:15 +0000 (21:00 -0800)]
Initializes TriggerInfo::polarity. Resolves CID
1172054. (#1358)
* Initializes TriggerInfo::polarity. Resolves CID
1172054.
* Initializing to false explicitly.
Tim King [Tue, 14 Nov 2017 02:55:49 +0000 (18:55 -0800)]
Initializes NodeTheoryPair::timestamp in the default constructor. (#1356)
Andrew Reynolds [Tue, 14 Nov 2017 00:43:40 +0000 (18:43 -0600)]
(Refactor) Decouple rep set iterator and quantifiers (#1339)
* Refactoring rep set iterator, does not modify rep set externally.
* Decouple quantifiers engine and rep set iterator.
* Documentation
* Clang format
* Minor
* Minor
* More
* Format
* Address review.
* Format
* Minor
Tim King [Mon, 13 Nov 2017 23:39:56 +0000 (15:39 -0800)]
Initializing SharedTermsDatabase::d_conflictPolarity. Resolves
1172045. (#1355)
Andrew Reynolds [Mon, 13 Nov 2017 21:25:45 +0000 (15:25 -0600)]
Disable sygus qe preprocessing by default (#1353)
* Disable qe preprocessing for sygus by default, add option.
* Fix bug
* Unnest one
* Format
Andrew Reynolds [Mon, 13 Nov 2017 19:39:35 +0000 (13:39 -0600)]
Implement enumerator for functions. (#1243)
* Implement enumerator for functions.
* Address review.
* Minor
* Format
* Improve comment.
* Format
Andrew Reynolds [Mon, 13 Nov 2017 17:53:33 +0000 (11:53 -0600)]
Argument Relevance for Synthesis Conjectures (#1311)
* Initial work on conjecture-specific symmetry breaking.
* More infrastructure, working on process term.
* Flattening.
* Process defs
* More setup
* Fixes.
* Sketching
* Generalize to inference of argument definitions.
* More, separate conjunct processing per synth function.
* Single occurrence variables.
* Assign relevance.
* Document, connecting.
* Connecting to grammar construction.
* Enabled, add regressions.
* Fix regressions.
* Clang format.
* Add regress1, minor.
* Fix
* Two passes.
* Fix
* Note
* Improve check match, make single var occurrence more conservative.
* Add regression.
* Clang format
* Minor comments
* Update regression to new option.
* Undo grammar cons changes.
* Enable irrelevant args.
* Improvements.
* Format
* Minor
Tim King [Mon, 13 Nov 2017 15:57:41 +0000 (07:57 -0800)]
Initializes CegConjectureSingleInvSol::d_root_id. (#1361)
Tim King [Mon, 13 Nov 2017 14:15:03 +0000 (06:15 -0800)]
Initializing SortInference::initialSortCount. Resolves
1172053. (#1357)
Andrew Reynolds [Fri, 10 Nov 2017 15:29:21 +0000 (09:29 -0600)]
(Documentation-only) datatype.h (#1346)
* Clean and document datatype.h.
* More, make TODOs.
* More documentation
* More
* Reference issue.
* Format
* Fixes and improvements.
* Minor
* Minor
* Minor
* Fix
* Minor
* Format
Andrew Reynolds [Fri, 10 Nov 2017 13:53:32 +0000 (07:53 -0600)]
Printing for higher-order (#1347)
Andrew Reynolds [Thu, 9 Nov 2017 17:36:37 +0000 (11:36 -0600)]
Higher-order prep (#1338)
* Minor preparation for final higher-order merge.
* Format
Andrew Reynolds [Thu, 9 Nov 2017 15:51:52 +0000 (09:51 -0600)]
Decouple sygus term database and term database. (#1317)
* Decouple sygus term database and term database.
* Clang format
* Fix include
Aina Niemetz [Thu, 9 Nov 2017 12:47:02 +0000 (04:47 -0800)]
Add modular arithmetic operators. (#1321)
This adds functions on Integers to compute modular addition, multiplication and inverse.
This is required for the Gaussian Elimination preprocessing pass for BV.
Tim King [Wed, 8 Nov 2017 04:18:30 +0000 (20:18 -0800)]
Initializing QModelBuilder members. (#1334)
Tim King [Wed, 8 Nov 2017 02:25:22 +0000 (18:25 -0800)]
Combining d_conflictHasBeenRaised and d_conflictIndex into a CDMaybe. (#1332)
Tim King [Wed, 8 Nov 2017 01:16:04 +0000 (17:16 -0800)]
Initializing TrailHashMap::d_uniqueKeys. (#1331)
Tim King [Tue, 7 Nov 2017 23:37:31 +0000 (15:37 -0800)]
Initialize TimerStat::d_start. (#1330)
* Initialize TimerStat::d_start.
* 0 initializing d_data.
Tim King [Tue, 7 Nov 2017 21:56:28 +0000 (13:56 -0800)]
Initializing Smt1::d_logic in all cases. This was resolved by extending the Logic enum with an UNSET value. (#1329)
Andrew Reynolds [Tue, 7 Nov 2017 19:54:06 +0000 (13:54 -0600)]
Guard relevant domain computation properly, minor. (#1325)
Tim King [Tue, 7 Nov 2017 18:35:42 +0000 (10:35 -0800)]
Removing an unused member from Tptp. Initializing members of Tptp. (#1326)
* Removing an unused member from Tptp. Initializing members of Tptp.
* Removing delcaration for myPopCharStream.
Tim King [Tue, 7 Nov 2017 17:10:09 +0000 (09:10 -0800)]
Moving the enum ArithType to partial_model. Adding a new type Unset in the enum. Always initializing VarInfo::d_type. (#1333)
Andrew Reynolds [Tue, 7 Nov 2017 15:21:00 +0000 (09:21 -0600)]
Allow FORALL in quantifier elimination command (#1322)
* Allow FORALL passed as an argument to get-qe.
* Document
* Format
* Minor
Tim King [Tue, 7 Nov 2017 13:26:35 +0000 (05:26 -0800)]
Initializing EquivSygusInvarianceTest::d_conj in the constructor. (#1327)
Tim King [Tue, 7 Nov 2017 07:18:29 +0000 (23:18 -0800)]
Initializing NegContainsSygusInvarianceTest::d_cpbe in constructor. (#1328)
Tim King [Tue, 7 Nov 2017 04:36:45 +0000 (20:36 -0800)]
Using unique_ptr's for members of CegConjecture. (#1324)
Andrew Reynolds [Tue, 7 Nov 2017 01:18:09 +0000 (19:18 -0600)]
Updates to interface for Sygus grammar construction. (#1323)
* Updates to interface for grammar construction.
* Minor
* Format
Andrew Reynolds [Mon, 6 Nov 2017 15:00:48 +0000 (09:00 -0600)]
Unrecurisify rewrite solve assertion for cbqi bv (#1312)
* Unrecursify rewrite assertion for cbqi bv.
* Format
Aina Niemetz [Mon, 6 Nov 2017 11:22:44 +0000 (03:22 -0800)]
Add getValue() for Rational and Integer (GMP and CLN). (#1309)
Returns a copy of d_value to enable public access of GMP and CLN data.
Andrew Reynolds [Mon, 6 Nov 2017 05:14:16 +0000 (23:14 -0600)]
Improve rewriting for string contains part 2 (#1300)
* Generalize component contains, some infrastructure.
* Length entailment, substr for component contains, int.to.str for constant can contain concat.
* Disable rewrite.
* Fix, reenable length entailment for contains.
* Clang format, minor.
* Comment
* Minor fixes and improvements for comments.
* Improvements
* Clang format
* Fixes
* Clang format
* Fix, improve.
* Format
* Fix assertion
Andrew Reynolds [Sun, 5 Nov 2017 17:44:21 +0000 (11:44 -0600)]
Make higher-order a flag in logic info. (#1318)
* Make higher-order a flag in logic info.
* Format
* Minor
* Format
Andrew Reynolds [Sat, 4 Nov 2017 02:18:01 +0000 (21:18 -0500)]
Suppport SAT logic (#1310)
* Support SAT logic.
* Add lustre example.
* Add to smt1 as well.
* Fix.
* Fix.
* Fix for new option.
Andrew Reynolds [Sat, 4 Nov 2017 00:16:06 +0000 (19:16 -0500)]
Fix bv help message. (#1315)
Andrew Reynolds [Fri, 3 Nov 2017 20:36:38 +0000 (15:36 -0500)]
Sygus clean main (#1297)
* Remove front end hack for sygus.
* Remove other hack, add sygus solution output mode.
* Clang format
* Minor
* Fix
* Minor
* Remove unused field.
Andrew Reynolds [Thu, 2 Nov 2017 04:20:09 +0000 (23:20 -0500)]
(Move-only) Split quant util (#1306)
* Initial draft of splitting quant util.
* Minor
* Document recursive term builder.
* Rename file, minor.
* Clang format