summaryrefslogtreecommitdiff
path: root/src/theory/rep_set.cpp
AgeCommit message (Collapse)Author
2018-02-05Cleaning up the printing of theory model representative sets. (#1538)Tim King
2017-11-13(Refactor) Decouple rep set iterator and quantifiers (#1339)Andrew Reynolds
* 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
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-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-07-07Update copyright headers.Mathias Preiner
2016-12-07Refactoring, generalization of bounded inference module. Simplification of ↵ajreynol
rep set iterator. Disable quantifiers dynamic splitting for variables that are inferred bounded. Minor changes to fmc mbqi. Add regressions.
2016-12-02Refactor preprocessing of models in fmf. Fix options --fmf-empty-sorts and ↵ajreynol
--fmf-fun-rlv, fixes bug 723.
2016-08-15Enable bounded set membership with --fmf-bound. Map to term models for ↵ajreynol
bounded set membership.
2016-06-01Initial infrastructure for bounded set quantification (disabled). ↵ajreynol
Refactoring and fixes for --fmf-bound-int. Fix simple memory leaks in strings and bounded integers.
2016-04-03Updating the copyright headers and scripts.Tim King
2015-09-16Add option --fmf-fun-rlv, remove deprecated option --axiom-inst.ajreynol
2015-06-27Refactor various corner cases of fmf, quantifiers modules. Enable cbqi2 by ↵ajreynol
default on pure quantified arithmetic. Fix bug in sort inference related to mixed real/int, add regression.
2015-06-16Avoid completion for large finite types. Fix bug for --fmf-fun.ajreynol
2015-06-13Robust check to avoid store all instantiations. Fix prior commit for sort ↵ajreynol
inference.
2015-06-13Avoid instantiating with array constants.ajreynol
2015-06-09Bug fix instantiations for fmf-bound-int. Disable nested pre-skolemization ↵ajreynol
for non-UF logics. Update SMT COMP scripts accordingly.
2015-04-26Bug fixes and improvements for mbqi with theory symbols, TheoryModel ↵ajreynol
fullModel=false assigns values to eqc. Bug fix for fmf-fun. Minor change to resource limiting for quantifiers. Add fmf regressions.
2014-11-05Fix model bug in --mbqi=fmc. Minor cleanup in datatypes.ajreynol
2014-08-27Fix assertion in rep_set.cpp, avoid full check in datatypes when in conflict.ajreynol
2014-07-19Minor fix for explanations for co-datatypes. Bug fix for explanations in ↵ajreynol
FMF for quantifiers over arrays.
2014-07-01Update copyrights.Morgan Deters
2014-06-14Fix for fmf with large finite cardinalities.ajreynol
2014-05-11More preparation for CASC proofs. Minor fix for sort inference (rewrite new ↵Andrew Reynolds
assertions). Bug fix for ambqi : simplify correctly for multi-sorted case. Bug fix for fmc : only do exh-simplification for uninterpreted sorts, ensure reps are enumerated for quantification over Real.
2014-04-17simplify mkSkolem naming system: don't use $$Kshitij Bansal
Short summary: By default NODEID is appeneded, just continue doing what you were, just don't add the _$$ at the end. Long summary: Before this commit there were four (yes!) ways to specify the names for new skolems, which result in names as given below 1) mkSkolem("name", ..., SKOLEM_FLAG_DEFAULT) -> "name_NODEID" 2) mkSkolem("name", ..., SKOLEM_EXACT_NAME) -> "name" 3) mkSkolem("name_$$", ..., SKOLEM_FLAG_DEFAULT) -> "name_NODEID" 4) mkSkolem("na_$$_me", ..., SKOLEM_FLAG_DEFAULT) -> "na_NODEID_me" After this commit, only 1) and 2) stay. 90% usage is of 1) or 3), which results in exact same behavior (and looking at the source code it doesn't look like everyone realized that the _$$ is just redundant). Almost no one used 4), which is the only reason to even have $$. Post this commit if you really want a number in the middle, manually construct the name and use the SKOLEM_EXACT_NAME flag.
2013-11-06Bug fixes for bounded integer quantification. Current best strategy is to ↵Andrew Reynolds
turn off MBQI. Disable relevant triggers by default.
2013-09-27Add new symmetry breaking technique for finite model finding. Improvements ↵Andrew Reynolds
to bounded integer quantifier instantiation.
2013-07-02Minor fixes for bounded integers, rewrite engine.Andrew Reynolds
2013-06-26Add support for interval models in bounded integers MBQI (in progress).Andrew Reynolds
2013-06-25Refactoring of model engine to separate individual implementations of model ↵Andrew Reynolds
builder. Begin work on interval models for integers. Other minor cleanup.
2013-06-24Add options for symmetry breaking in uf+ss totality axiom approach, option ↵Andrew Reynolds
for using clique lemmas instead of splitting on demand, option for simplifying models in fmf-fmc, minor fixes for rewrite engine
2013-05-23Refactoring to prepare for MBQI with integer quantification. Minor bug fixes.Andrew Reynolds
2013-05-22Significant work on bounded integer quantification to handle non-trivial ↵Andrew Reynolds
bounds. Refactoring of InstConstantAttribute to be internal to TermDb.
2013-05-11Preliminary version of finite model finding over bounded integer ↵Andrew Reynolds
quantification. Minor update to casc script.
2013-04-02Regenerated copyrights: canonicalized names, no emailsMorgan Deters
2013-02-24added option --model-u-dt-enum for outputting uninterpreted sorts as ↵Andrew Reynolds
datatype enumerations + minor update to array rewriter to improve output for this option, minor refactoring of representative selection for quantifier instantiation, initial draft of disequality propagation option --uf-ss-deq-prop, other refactoring of uf strong solver, fixed bug 496, improvement for fmf enumeration of finite built-in sorts
2013-02-04fixed files with DOS newlines; fixed contrib/ scripts to use gitMorgan Deters
2012-11-12minor bug fixes for quantifiers, added sort inference module (not ready to ↵Andrew Reynolds
be used yet), added new totality lemma option for uf strong solver
2012-10-11Standardizing copyright notice. Touches **ALL** sources, guys, sorry.. it'sMorgan Deters
just the header comments at the top, though. Don't update to this rev if you don't have time for a complete rebuild, and exclude this rev if you want to see what's new across a range of commits. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-09fixed datatypes rewriter to detect clashes between non-datatype subfields. ↵Andrew Reynolds
cleaned up model code, TheoryModel::getValue is now const.
2012-09-19General subscriber infrastructure for NodeManager, as discussed in theMorgan Deters
meeting last week. The SmtEngine now subscribes to NodeManager events, does appropriate dumping of variable declarations, and notifies the Model class. The way to create a skolem is now: nodeManager->mkSkolem("myvar_$$", TypeNode, "is a variable created by the theory of Foo") The first argument is the name of the skolem, and the (optional) "$$" is a placeholder for the node id (to get a unique name). Without a "$$", a "_$$" is automatically appended to the given name. The second argument is the type. The (optional, but recommended) third argument is a comment, used by the dump infrastructure to indicate what the variable is for / who owns it. An optional fourth argument (not shown) allows you to specify flags that control the behavior (e.g., don't do notification, and/or don't make a unique name). Look at the documentation for details on these. In particular, the above means you can't just do a mkSkolem(boolType) for example---you have to specify a name and (hopefully also, but it's optional) a comment. This leads to easier debugging than the anonymous skolems before, since we'll be able to track where the skolems came from. Much of the Model and Dump stuff, as well as some Command stuff, is cleaned up by this commit. Some remains to be cleaned up. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-08-31merge from fmf-devel branch. more updates to models: now with ↵Andrew Reynolds
collectModelInfo with fullModel argument, most theory-specific implementation out of the model class, model printer relegated to printer classes. Also updates to finite mode finding, modifications to datatypes making them compatible with theory combination, support for theory-specific handling of user attributes, refactoring of uf models
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback