summaryrefslogtreecommitdiff
path: root/src/theory/uf
AgeCommit message (Collapse)Author
2018-08-08Move uf model code from uf to quantifiers (#2095)Andrew Reynolds
2018-08-02 Remove references to deprecated propagate as decision feature (#2258)Andrew Reynolds
2018-07-06sygusComp2018: simplify beta reduction in uf rewriter. (#2106)Andrew Reynolds
This is PR 8/18 from the sygus comp 2018 branch (https://github.com/ajreynol/CVC4/tree/sygusComp2018-2). I am not sure how it is possible in any circumstance that the complication in the comment I am deleting would ever happen, without doing something very strange. I think it is referring to some sort of inter-dependence between macro expansion + beta-reductions. This should not concern the rewriter. Here is the commit that introduced it: bdaa304.
2018-06-25Updated copyright headers.Aina Niemetz
2018-05-23Add notions of evaluated kinds in TheoryModel (#1947)Andrew Reynolds
2018-04-30Remove subsort symmetry breaking (#1807)Andrew Reynolds
2018-04-10Properly implement function extensionality based on cardinality (#1765)Andrew Reynolds
2018-04-09Fix higher-order term indexing. (#1754)Andrew Reynolds
2018-03-25Cleanup various exit calls (#1692)Andrew Reynolds
2018-03-23Remove unused code (#1700)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-02-06Resolving warnings from -Winconsistent-missing-override on clang. (#1563)Tim King
2018-01-08Removing more miscellaneous throw specifiers. (#1488)Tim King
Removing more miscellaneous throw specifiers.
2017-12-08Make collect model info return a Bool (#1421)Andrew Reynolds
2017-12-06Remove CDChunkList (#1414)Andres Noetzli
2017-11-15Adding garbage collection for Proof objects. (#1294)Tim King
2017-11-13Initializes TriggerInfo::polarity. Resolves CID 1172054. (#1358)Tim King
* Initializes TriggerInfo::polarity. Resolves CID 1172054. * Initializing to false explicitly.
2017-11-01(Refactor) Split term util (#1303)Andrew Reynolds
* Fix some documentation. * Move model basis out of term db. * Moving * Finished moving. * Document Skolemize and term enumeration. * Minor * Model basis to first order model. * Change function name. * Minor * Clang format. * Minor * Format * Minor * Format * Address review.
2017-10-27Refactor theory model (#1236)Andrew Reynolds
* Refactor theory model, working on making RepSet references const. * Encapsulation of members of rep set. * More documentation on rep set. * Swap names * Reference issues. * Minor * Minor * New clang format.
2017-10-25Switching EqProof to use shared_ptr everywhere. (#1217)Tim King
This clarifies the memory ownership of EqProofs.
2017-10-20SyGuS term size limit (#1262)Andrew Reynolds
* Add option sygus-abort-size, which tells the enumerative SyGuS solver to abort when it reaches a given term size. * Apply clang format.
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-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-09-20Extend quantifier-free UF solver to higher-order. This includes an ex… (#1100)Andrew Reynolds
* Extend quantifier-free UF solver to higher-order. This includes an extensionality inference, and lazy conversion from APPLY_UF to HO_APPLY terms.Implements collectModelInfo and theory combination for HO_APPLY terms. * Update comments, minor changes to functions. Update APPLY_UF skolem to be user-context dependent. * Remove unused NodeList
2017-09-13Add new kinds required for higher-order. (#1083)Andrew Reynolds
This consists of a binary apply symbol HO_APPLY that returns the result of applying its first argument to its second argument. Update the UF rewriter to ensure that non-standard APPLY_UF applications are rewritten into curried applications of HO_APPLY.
2017-09-13Modify equality engine to allow operators to be marked as external terms (#1082)Andrew Reynolds
This is required for reasoning higher-order, since we may have equalities between functions, which are operators of APPLY_UF terms. This commit gets around the previous 1% slowdown by modifying the changes to the equality engine to be minimal impact. Previously the "isInternal" flag could be reset to false after a term is marked as internal=true. This provides an interface for whether operators of a kind should be marked as internal=false from the start. When using higher-order, APPLY_UF operators will be marked as being external when the higher-order option ufHo is set to true. This has <.001% impact on performance on QF smtlib : https://www.starexec.org/starexec/secure/details/job.jsp?id=24445
2017-09-07Properly handle user cardinality constraints for uf-ss=none. (#1068)Andrew Reynolds
2017-08-31Answer unknown when uf-ss=no-minimal is combined with cardinality ↵Andrew Reynolds
constraints from user input, add regressions. (#1060)
2017-07-20Moving from the gnu extensions for hash maps to the c++11 hash mapsTim King
* Replacing __gnu_cxx::hash_map with std::unordered_map. * Replacing __gnu_cxx::hash_set with std::unordered_set. * Replacing __gnu_cxx::hash with std::hash. * Adding missing includes.
2017-07-12Make type rules more strict for operators whose type rules involve subtypes. ↵ajreynol
Disable support for subrange and predicate subtypes (which were only partially supported previously).
2017-07-07Update copyright headers.Mathias Preiner
2017-06-30Minor change to trigger selection, fixes related to subtypes (in macros, ↵ajreynol
cbqi, tptp parser), fix full saturation instantiation to not loop in rare case, update regressions, update casc scripts.
2017-04-04Simplify Theory::collectModelInfo interface to not take deprecated fullModel ↵ajreynol
argument.
2017-03-21Improve computeCareGraph functions to check shared term equality status once ↵ajreynol
per equivalence class pair.
2017-03-03Fix for collectModelInfo related to finite types + preregistration. ↵ajreynol
Generalize previous fix for sets, minor changes to Datatypes.
2017-03-02Eliminate Boolean term conversion. Generalizes removeITE pass to remove ↵ajreynol
Boolean terms, treats distinguished BOOLEAN_TERM_VARIABLE kind as theory literal. Fixes bugs 597, 604, 651, 652, 691, 694. Add regressions.
2017-01-04Fix for tff type declarations inTPTP parser, fixes bug 748. Other minor ↵ajreynol
changes.
2016-11-03Add priorities to getNextDecision. Properly handle case for finite types + ↵ajreynol
unbounded heaps in sep logic. Fix another simple memory leak in sygus.
2016-10-02Removing the throw specifiers from theory_uf_type_rules.h.Tim King
2016-09-25Deleting optional members of StrongSolverTheoryUF.Tim King
2016-09-16Handling a corner case where a ROW's guard is a constant disequality.Guy
If this is a simple proof (e.g., just 1 != 2), change the d_id from Transitivity to ConstantDisequality
2016-09-01Relaxing the throw specifiers for the destructors for Node, TypeNode, the ↵Tim King
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.
2016-07-06A few proof bugs fixedGuy
2016-06-17Support for separation logic. Enable cbqi by default for pure BV.ajreynol
2016-06-01Merge from proof branchGuy
2016-06-01Revert "Merging proof branch"Guy
This reverts commit 89ba584531115b7f6d47088d7614368ea05ab9d8.
2016-06-01Merging proof branchGuy
2016-05-26Use term indexing in TheoryUF::computeCareGraph. Do not reject model value ↵ajreynol
instantiations in cbqi+BV. Use dag in alpha equivalence check. Fix simple memory leak in fmf.
2016-05-20Improvements to theory combination + strings: do not return trivial care ↵ajreynol
graph, split on length terms for disequal strings. Term indexing for TheoryDatatypes::computeCareGraph. Minor fix in quantifiers rewriter for entailed conditions, strings cardinality.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback