summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-02-01Generalizing lib/strtok_r.c so that it can always be compiled.Tim King
2016-02-01Generalizing the implementation of lib/clock_gettime.c so that it can always ↵Tim King
be compiled.
2016-02-01Fixing a potentially malformed template expansion when Dump() is disabled.Tim King
2016-02-01Fixing a memory leak in bv_subtheory_algebraic.cpp. Also formatting the file.Tim King
2016-02-01Adding an virtual destructor to OstreamUpdate.Tim King
2016-02-01Making the ManagedOstream::defaultSource() a const function.Tim King
2016-02-01Adding a destructor to ProofOutputChannel.Tim King
2016-02-01Fixing white spaces in sat_proof.h.Tim King
2016-02-01Making the references to std more explicit in didyoumean.cpp.Tim King
2016-02-01Fixing a memory leak in array info.Tim King
2016-02-01Deleting the dead code in proof/sat_proof.cpp.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.
2016-01-08Disabling the RESTART command.Tim King
2016-01-06fix windows buildsKshitij Bansal
2016-01-06Fixing a SWIG ordering issue between bitvector and integer.Tim King
2016-01-06Improving the documentation of the CVC command CONTINUE.Tim King
2016-01-05Removing dead code. StackingMap only appeared in unit tests.Tim King
2016-01-05Moving sexpr.{cpp,h,i} from expr/ back into util/.Tim King
2016-01-05Add SmtGlobals ClassTim King
- The options replayStream, lemmaInputChannel, lemmaOutputChannel have been removed due to their datatypes. These datatypes were previously pointers to types that were not usable from the options/ library. - The option replayLog has been removed due to inconsistent memory management. - SmtGlobals is a class that wraps a pointer to each of these removed options. These can each be set independently. - There is a single SmtGlobals per SmtEngine with the lifetime of the SmtEngine. - A pointer to this is freely given to the user of an SmtEngine to parameterize the solver after construction. - Selected classes have been given a copy of this pointer in their constructors. - Removed the dependence on Node from Result. Moving Result back into util/.
2016-01-05Adding a new class LastExceptionBuffer for the purpose of owning the memory ↵Tim King
for the last exception C string. This replaces s_debugLastException.
2016-01-01Added propagation rule for array ext lemmas to aid proofsClark Barrett
2015-12-30Modified tear-down-incremental option to take an integer - the integer is theClark Barrett
number of times a check must be executed before the system is reset.
2015-12-30Shuffling around public vs. private headersTim King
- Adding a script contrib/test_install_headers.h that tests whether one can include all cvc4_public headers. CVC4 can pass this test after this commit. - Making lib/{clock_gettime.h,ffs.h,strtok_r.h} cvc4_private. - Making prop/sat_solver_factory.h cvc4_private. - Moving the expr iostream manipulators into their own files: expr_iomanip.{h,cpp}. - Setting the generated *_options.h files back to being cvc4_private. -- Removing the usage of options/expr_options.h from expr.h. -- Removing the include of base_options.h from options.h. - Cleaning up CPP macros in cvc4_public headers. -- Changing the ROLL macro in floatingpoint.h into an inline function. -- Removing the now unused flag -D__BUILDING_STATISTICS_FOR_EXPORT.
2015-12-29Adding a missing header include for cvc4_assert.h in ↵Tim King
smt_engine_check_proof.cpp for when proofs are disabled.
2015-12-26Merged my changes from experimental branch (new array decision procedure,Clark Barrett
translation to bit-vectors for QF_NIA).
2015-12-24Changing the attribute on the forward declaration of SetType in emptyset.h. ↵Tim King
This seems to give many fewer warnings.
2015-12-24Adding a missing return on the new ArrayStoreAll::operator= .Tim King
2015-12-24Miscellaneous fixesTim King
- Splitting the two instances of CheckArgument. The template version is now always defined in base/exception.h and is available in a cvc4_public header. This version has lost its variadic version (due to swig not supporting va_list's). The CPP macro version has been renamed PrettyCheckArgument. (Taking suggestions for a better name.) This is now only defined in base/cvc4_assert.h. Only use this in cvc4_private headers and in .cpp files that can use cvc4_private headers. To use a variadic version of CheckArguments, outside of this scope, you need to duplicate this macro locally. See cvc3_compat.cpp for an example. - Making fitsSignedInt() and fitsUnsignedInt() work more robustly for CLN on 32 bit systems. - Refactoring ArrayStoreAll to avoid potential problems with circular header inclusions. - Changing some headers to use iosfwd when possible.
2015-12-23Enabled array propagation during lemma propagation - this should catch someClark Barrett
conflicts that now require extra splitting.
2015-12-23Added extract.cpp exampleClark Barrett
2015-12-22Bug fix uf-ss-totality.ajreynol
2015-12-22Always split on constructor types for datatypes involving uninterpreted ↵ajreynol
sorts when finite model finding is enabled, add regressions.
2015-12-22Bug fix for cbqi, do not use model values for terms involving non-enumerable ↵ajreynol
sorts.
2015-12-18Modifying emptyset.h and sexpr. Adding SetLanguage.Tim King
- Modifies expr/emptyset.h to use SetType only as an incomplete type within expr/emptyset.h. This breaks the include cycle between expr/emptyset.h, expr/expr.h and expr/type.h. - Refactors SExpr to avoid a potentially infinite cycle. This is likely overkill, but it works. - Moving Expr::setlanguage and related utilities out of the Expr class and into their own file. This allows files in util/ to know the output language set on an ostream.
2015-12-17Minorajreynol
2015-12-16Removing the Record iterator from the swig interface. Moving the cvc4 ↵Tim King
autogen include in interactive_shell.cpp.
2015-12-16Work on purification for quantifiers, minor updates.ajreynol
2015-12-15Breaking the include cycle between Record and Expr.Tim King
2015-12-15Adding destructors for CDO an CDOhash_map in the restore() functions.Tim King
2015-12-15Removing the build cycle for predicate.Tim King
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback