summaryrefslogtreecommitdiff
path: root/src/expr
AgeCommit message (Collapse)Author
2018-05-28Builtin evaluation functions for sygus (#1991)Andrew Reynolds
2018-05-24Fix compiler warnings (#1959)Andres Noetzli
2018-05-18Cache isInterpretedFinite (#1943)Andrew Reynolds
2018-05-10Exclude Boolean connectives from ITE conditions in SygusUnifStrat (#1900)Andrew Reynolds
2018-04-10Properly implement function extensionality based on cardinality (#1765)Andrew Reynolds
2018-04-09Fix hasSubterm calls for higher-order (#1760)Andrew Reynolds
2018-04-08Check free variables in assertions (#1737)Andrew Reynolds
2018-04-02Do not call toString() on malformed node when throwing ↵yoni206
TypeCheckingExceptionPrivate. (#1733) While throwing a TypeCheckingExceptionPrivate, an IllegalArgumentException was thrown when trying calling toString() on a malformed node. Fixed by printing the kind of the node and its children rather than calling toString() on the malformed node.
2018-03-23Remove abstract regular expression constant (#1698)Andrew Reynolds
2018-03-06Make statistics output consistent. (#1647)Mathias Preiner
* Fixes --hide-zero-stats (and really skips the 0 values) * Removes the additional newline after each statistic * Introduces theory::getStatsPrefix(TheoryId) to generate consistent prefixes for statistics based on the theory id (e.g., THEORY_BV -> "theory::bv").
2018-03-05Enable -Wsuggest-override by default. (#1643)Mathias Preiner
Adds missing override keywords.
2018-03-05Add support for check-sat-assuming. (#1637)Aina Niemetz
This adds support for check-sat-assuming. It further adds support for SmtEngine::query() over a vector of Expressions, e.g., smtEngine->query({a, b}); checks the validity (of the current input formula) under assumption (not (or a b)).
2018-03-05Add CVC4_PUBLIC keyword to overloads of << for Expr containers. (#1644)Aina Niemetz
2018-03-05Add uniform way to serialize containers of Expr to stream. (#1638)Aina Niemetz
2018-03-02Fixed typo.Aina Niemetz
2018-02-13Provide a uniform way to serialize node containers to output stream. (#1604)Aina Niemetz
2018-02-07Fixing line numbers on type_checker_template.cpp (#1574)Tim King
2018-02-05Using getOperator() directly instead of using -1. CID 1172262. (#1559)Tim King
2018-01-27Removing an unused variable. Resolves CID 1172257. (#1542)Tim King
2018-01-26Removing structurally dead code. (#1540)Tim King
2018-01-17Removes yet more throw specifiers. Updating the documentation as needed. (#1518)Tim King
2018-01-14Removing throw specifiers from Type. (#1511)Tim King
2018-01-10Removing throw specifiers for TypeRules. (#1501)Tim King
2018-01-09Cleaning up throw specifiers on Exception and subclasses. (#1475)Tim King
2018-01-09Removing throw specifiers from miscellaneous src/expr/ classes. (#1503)Tim King
2018-01-08Remove throw specifiers from symbol table. (#1490)Tim King
2018-01-08Remove throw specifiers from datatype. (#1489)Tim King
2018-01-04Removing miscellaneous throw specifiers. (#1474)Tim King
2017-12-10Fix issue with mkConst/getConst of TypeConstant (#1439)Andres Noetzli
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.
2017-12-01Minor additions for sygus (#1419)Andrew Reynolds
2017-11-22Converting defined functions and let expressions from Sygus grammars to ↵Haniel Barbosa
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.
2017-11-22Sygus Lambda Grammars (#1390)Andrew Reynolds
2017-11-15Sygus print callbacks (#1348)Andrew Reynolds
* Initial infrastructure for sygus printing. * Minor * Minor improvements * Format * Minor * Empty constructor printer. * Format * Minor * Format * Address.
2017-11-15Initializing members of Datatype. Addresses CIDs 1362897, 1362912, 1362923 ↵Tim King
and 1362931. (#1373)
2017-11-10(Documentation-only) datatype.h (#1346)Andrew Reynolds
* Clean and document datatype.h. * More, make TODOs. * More documentation * More * Reference issue. * Format * Fixes and improvements. * Minor * Minor * Minor * Fix * Minor * Format
2017-10-26Op overload no fun variant (#1285)Andrew Reynolds
* Do not allow function variants with operator overloading. * Minor. * New clang format. * Minor improvements.
2017-10-25Use uintptr_t for pointer casts in Swig files (#1278)Andres Noetzli
CVC4's Swig interface files were casting pointers to longs in multiple instances. The problem with that is that on certain platforms *cough* Windows/MinGW *cough* long is only 32-bit even when compiling a 64-bit executable (they use the LLP64 data model). This made the compilation of language bindings fail with MinGW. This commit changes the types to uintptr_t defined in Swig's stdint.i.
2017-10-20Make Sygus conjectures higher-order (#1244)Andrew Reynolds
* Represent sygus synthesis conjectures using higher-order quantification, remove associated hacks. * Minor fix * Fix bug in Node::hasBoundVar for non-ground operators. * Add regression. * Address review. * Apply clang format.
2017-10-10Ho node manager types (#1203)Andrew Reynolds
* Remove restrictions about function types * Introduce notion of first-class type, improve assertions, add comment on equality type rule. * Update comment
2017-10-09Split term database (#1206)Andrew Reynolds
* Move equality query to own file, move equality inference to quantifiers engine. * Move quantifiers attributes out of TermDb and into QuantAttribute. * Move term database sygus to quantifiers engine, move some attributes to quantifiers attributes header. * Split term database into term util. * Partial fix for #1205 that eliminates need for dependency in node.cpp. * Add more references to github issues.
2017-10-04Removing the throw specifier from ArrayStoreAll constructor. (#1182)Tim King
Addresses CIDS: 1457252 and 1379620. Miscellaneous cleanup to ArrayStoreAll.
2017-10-02Unify hash functions for pairs (#1161)Andres Noetzli
CVC4 was implementing multiple, slightly different hash functions for pairs. With pull request #1157, we have a decent generic hash function for pairs. This commit replaces the existing hash function implementations with a typedef of the generic hash function.
2017-10-02Removing throw specifiers from SymbolTable::Implementation. (#1183)Tim King
2017-09-28Update symbol table to support operator overloading (#1154)Andrew Reynolds
2017-09-25Fixing CIDs 1172012 and 1172011: Initiallzing d_exprManager to nullptr in ↵Tim King
const_iterator. (#1140)
2017-09-17Moving the CVC4_PUBLIC attribute to the beginning of operator++. (#1107)Tim King
Removes the following warning when compiling with gcc version 4.8.4 : ../../../../../src/expr/kind_template.h:95:55: warning: '__visibility__' attribute ignored on non-class types [-Wattributes] Tested with clang-3.5.
2017-09-14Add missing CVC4_PUBLIC in kind_template (#1078)makaimann
2017-09-14Remove unhandled subtypes (#1098)Andrew Reynolds
* Remove unhandled subtypes, which consequently makes typing rules uniformly stricter based on weakening the subtype relation. Ensure coercions in the smt2 and cvc parser for Real decimal constants whose type is Integer. Ensure type annotations are computed during preRewrite to ensure rewriting (which does not preserve types) does not impact term construction for parametric datatypes. This fixes issue #1048 (we now give an type exception). * Update unit test for parametric datatypes to reflect new subtyping relation. * Remove deprecated test. * Make array construction for lambdas work with new subtype relations to handle lambdas like (lambda ((x Int) (y Int)) (ite (= x 0) 0.5 0.0)).
2017-09-13Floating point symfpu support (#1093)Martin
Changes needed for the bit-blasting floating-point solver which are outside of it's area and / or applicable independently.
2017-09-13Add isConst check for lambda expressions. (#1084)Andrew Reynolds
Add isConst check for lambda expressions by conversions to and from an Array representation where isConst is implemented. This enables check-model to succeed on higher-order benchmarks. Change the builtin rewriter for lambda to attempt to put lambdas into constant form. Update regression.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback