summaryrefslogtreecommitdiff
path: root/src/theory
AgeCommit message (Collapse)Author
2016-04-20update from the masterPaulMeng
2016-04-20add utils class for relational theoryPaulMeng
2016-04-19Refactored codePaulMeng
2016-04-15change transitive closure operator name to TCLOUSREPaulMeng
2016-04-14- Implement constant rewriter for relational operators for model generationPaulMeng
- fixed a few bugs
2016-04-12fixed explanation for transitive closure inferencesPaulMeng
2016-04-07implement standard effort support for productPaulMeng
2016-04-07- added standard effort for transposePaulMeng
- implement transitive closure rule for concrete input
2016-03-23added typing rule for transitive closurePaulMeng
2016-03-22minor fixPaulMeng
2016-03-21minor fixPaulMeng
2016-03-11minor fixPaulMeng
2016-03-10minor fixPaulMeng
2016-03-10fixed the transpose-occur rulePaulMeng
2016-03-08make skolems and tuple reduction terms as shared termsPaulMeng
- added more benchmarks for pressure and theory combination tests - fixed find terms method in trie data structure - use a separate membership map to store positive membership terms
2016-03-07modified CVC4 native language parser to accept 1-tuple declaration:PaulMeng
TUPLE(1) - fixed the tuple element selection for product-split and join-split rules
2016-03-04refactored the codePaulMeng
- send out facts as lemmas - fixed the non-termination problem caused by sending facts as lemmas - unfolded symbolic tuples by adding equality lemmas
2016-03-01small fixes for eq rep namesPaulMeng
2016-03-01small fix for namingPaulMeng
2016-03-01fixed product rulesPaulMeng
2016-02-29adapted the solver to accept sets of built-in types (int, string, real)PaulMeng
use dummy lemmas to find tuple elements equality
2016-02-29Added more benchmarksPaulMeng
Fixed the problem that duplicates and split facts were sent as lemmas causing nontermination Fixed the computation of join and product relations without simplication
2016-02-28implemented a basic solving procedure for finite relations (only forPaulMeng
join, product, transpose operators)
2016-02-17added rules for join and transpose operatorsPaulMeng
added more benchmarks
2016-02-15Merge remote-tracking branch 'origin/master'PaulMeng
2016-02-15extended smt parser for the finite relationsPaulMeng
fixed typing rules for relational terms added a benchmark example for the theory of finite relations
2016-02-15Eliminate most of the internal representation infrastructure for tuples and ↵ajreynol
records, replace with datatypes throughout, update cvc printer for tuples/records. Minor changes to API for records and tuples.
2016-02-11More aggressive conditional rewriting for quantified formulas. Bug fix set ↵ajreynol
incomplete for fmc.
2016-02-09Fix regression, minor change to output.ajreynol
2016-02-09- extend cvc4 frontend parser to accept relational operators (product,PaulMeng
join, transpose, transitive closure) - added a finite relations module to collect all relational terms in EE
2016-02-09Eager introduction of eqc, lemma cache for ground fmf. Apply preprocessing ↵ajreynol
to quantifier instantiations.
2016-02-08Updates related to finite model finding and (co)datatypes. Bug fix ↵ajreynol
enumerator and codatatype rewriter, further simplify fmc.
2016-02-05Changing the way the equality engine explains disequalities.guykatzz
The explanation for a != b is now: 1. a == find(a) 2. ( find(a) == find(b) ) == false 3. find(b) == b This simplifies the creation of transitivity proofs for disequalities.
2016-02-05Add two optimizations for datatypes, currently disabled. Bug fix rewriter ↵ajreynol
for selectors applied to codatatype values.
2016-02-04Fixed two more memory leaks in array_info.cppClark Barrett
2016-02-03Added --omit-dont-cares option which doesn't print model values forClark Barrett
variables known to be don't-cares.
2016-02-02Moving dump.*, command.*, model.*, and ite_removal.* from smt_util/ to smt/. ↵Tim King
Breaking an edge between the sat solver and command.h.
2016-02-01Fixing a memory leak in bv_subtheory_algebraic.cpp. Also formatting the file.Tim King
2016-02-01Fixing a memory leak in array info.Tim King
2016-02-01Simplify fmc model construction, add regression. Improve FMF debug assertions.ajreynol
2016-01-28Adding listeners to Options.Tim King
- Options -- Added the new option attribute :notify. One can get a notify() call on the Listener after a the option's value is updated. This is the new preferred way to achieve dynamic dispatch for options. -- Removed SmtOptionsHandler and pushed its functionality into OptionsHandler and Listeners. -- Added functions to Options for registering listeners of the notify calls. -- Changed a number of options to use the new listener infrastructure. -- Fixed a number of warnings in options. -- Added the ArgumentExtender class to better capture how arguments are inserted while parsing options and ease memory management. Previously this was the "preemptGetopt" procedure. -- Moved options/options_handler_interface.{cpp,h} to options/options_handler.{cpp,h}. - Theories -- Reimplemented alternative theories to use a datastructure stored on TheoryEngine instead of on Options. - Ostream Handling: -- Added new functionality that generalized how ostreams are opened, options/open_stream.h. -- Simplified the memory management for different ostreams, smt/managed_ostreams.h. -- Had the SmtEnginePrivate manage the memory for the ostreams set by options. -- Simplified how the setting of ostreams are updated, smt/update_ostream.h. - Configuration and Tags: -- Configuration can now be used during predicates and handlers for options. -- Moved configuration.{cpp,h,i} and configuration_private.h from util/ into base/. -- Moved {Debug,Trace}_tags.* from being generated in options/ into base/. - cvc4_private.h -- Upgraded #warning's in cvc4_private.h and cvc4_private_library.h to #error's. -- Added public first-order (non-templatized) member functions for options get and set the value of options outside of libcvc4. Fixed all of the use locations. -- Made lib/lib/clock_gettime.h a cvc4_private_library.h header. - Antlr -- Fixed antlr and cvc4 macro definition conflicts that caused warnings. - SmtGlobals -- Refactored replayStream and replayLog out of SmtGlobals. -- Renamed SmtGlobals to LemmaChannels and moved the implementation into smt_util/lemma_channels.{h,cpp}.
2016-01-26Merged bit-vector and uf proof branch.Liana Hadarean
2016-01-20Fix bug in fmc mbqi where modelscomputed for mbqi could involve non-constant ↵ajreynol
values. Add regression.
2016-01-19Bug fixes for model construction with codatatypes, add regressions.ajreynol
2016-01-18Bug fix rewriter for fun defs.ajreynol
2016-01-15Type enumerators take optional argument indicating fixed cardinalities of ↵ajreynol
uninterpreted sorts. Modify TheoryModelBuilder. Fix bug in fmf-empty-sorts.
2016-01-15Ensure model construction for parametric sorts involving uninterpreted sorts ↵ajreynol
respect cardinality bounds on when finite model finding is enabled.
2016-01-13Lemma cache datatypes. Do not send true lemma in quantifiers. Minor fix for ↵ajreynol
datatypes model generation for UFinite datatypes when FMF.
2016-01-08Adding a new Listener utility class. Changing the ResourceManager to use ↵Tim King
Listeners for reporting hard and soft resource out() events.
2016-01-08Removing StatisticsRegistry's static functions current() and registerStat().Tim King
- The functionality the get the StatisticsRegistry attached to the SmtEngine was previously through StatisticsRegistry::current(). This is the dominant StatisticsRegistry in the code. (There is another StatisticsRegistry attached to the NodeManager.) Having this be a static function on StatisticsRegistry requires the use of an SmtEngine in the wrong compilation unit. - Usages of StatisticsRegistry::current() that were visible in prop/{bvminisat,minisat} has been removed. A pointer to the relevant StatisticsRegistry should be passed instead into the constructor. - The function StatisticsRegistry::current() has been replaced by SmtScope::currentStatisticsRegistry(). SmtScope is in the libcvc4 package, where SmtEngine is available in the compilation unit. - The function smtStatisticsRegistry() is a synonym for SmtScope::currentStatisticsRegistry() in smt/smt_statistics_registry.h. This header has fewer include dependencies than the one for SmtScope. - Correspondingly, the static functions StatisticsRegistry::{registerStat, unregisterStat} have been removed. One should instead use smtStatisticsRegistry()->{registerStat,unregisterStat} instead. - The KEEP_STATISTIC macro has been moved into smt/smt_statistics_registry.h. - Documents the reason StatisticsRegistry is CVC4_PUBLIC. This lets me remove the warning I added. - Removing most operators for timespec from statistics_registry.h file. These a bit error prone in clang. - Most of the really confusing ifdef's in util/statistics_registry.h are gone.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback