summaryrefslogtreecommitdiff
path: root/src/Makefile.am
AgeCommit message (Collapse)Author
2018-10-19Remove autotools build system. (#2639)Mathias Preiner
2018-10-17Sygus query generator (#2465)Andrew Reynolds
2018-10-08BV instantiator: Factor out util functions. (#2604)Aina Niemetz
Previously, all util functions for the BV instantiator were static functions in theory/quantifiers/cegqi/ceg_bv_instantiator.cpp. For the corresponding unit test, it was therefore required to include this cpp file in order to test these functions. This factors out these functions into a theory/quantifiers/cegqi/ceg_bv_instantiator_utils.(cpp|h). Asan reported errors for the corresponing unit test because of this.
2018-10-08 BV inverter: Factor out util functions. (#2603)Aina Niemetz
Previously, all invertibility condition functions were static functions in theory/quantifiers/bv_inverter.cpp. For the corresponding unit test, it was therefore required to include this cpp file in order to test these functions. This factors out these functions into a theory/quantifiers/bv_inverter_utils.(cpp|h).
2018-09-29Stream concrete values for variable agnostic enumerators (#2526)Haniel Barbosa
2018-09-18Move and rename sygus solver classes (#2488)Andrew Reynolds
2018-09-17Move inst_strategy_cbqi to inst_strategy_cegqi (#2477)Andrew Reynolds
2018-09-14Refactor how assertions are added to decision engine (#2396)Andres Noetzli
Before refactoring the preprocessing passes, we were using three arguments to add assertions to the decision engine. Now all that information lives in the AssertionPipeline. This commit moves the AssertionPipeline to its own file and changes the `addAssertions()` methods related to the decision engine to take an AssertionPipeline as an arguement instead of three separate ones. Additionally, the TheoryEngine now uses an AssertionPipeline for lemmas.
2018-09-14Add Skolem cache for strings, refactor length registration (#2457)Andrew Reynolds
This PR is in preparation for doing more aggressive caching of skolems (for example, in the strings preprocessor). It refactors sendLengthLemma -> registerLength, which unifies how length lemmas for skolems and other string terms are handled.
2018-09-13Generalize CandidateRewriteDatabase to ExprMiner (#2340)Andrew Reynolds
2018-09-12 Initial infrastructure for theory decision manager (#2447)Andrew Reynolds
2018-09-11Support model cores via option --produce-model-cores. (#2407)Andrew Reynolds
This adds support for model cores, fixes #1233. It includes some minor cleanup and additions to utility functions.
2018-09-10Refactor non-clausal simplify preprocessing pass. (#2425)Aina Niemetz
2018-09-04Remove CVC3 compatibility layer (#2418)Andres Noetzli
2018-08-30Refactor theory preprocess into preprocessing pass. (#2395)Mathias Preiner
2018-08-30Add regular expression elimination module (#2400)Andrew Reynolds
2018-08-29Refactor MipLibTrick preprocessing pass. (#2359)Mathias Preiner
2018-08-28 Split term canonize utility to own file and document (#2398)Andrew Reynolds
2018-08-27Resolution proof: separate printing from proof (#1964)Andres Noetzli
Currently, we have an LFSCSatProof which inherits from TSatProof and implements printing the proof. The seperation is not clean (e.g. clauseName is used for printing only but is in TSatProof) and the inheritance does not add any value while making dependencies more confusing. The plan is that TSatProof becomes a self-contained part that the MiniSat implementations generate and ProofManager prints out. This commit is a first step in that direction. For SAT solvers with native capabilities for producing proofs, we would simply implement a different LFSC printer of their proof representation without changing the SAT solver itself. The inheritance would make this awkward to deal with. Additionally, the commit cleans up some unused functions and adjusts the visibility of TSatProof methods and members.
2018-08-25Refactor unconstrained simplification pass (#2374)Andres Noetzli
2018-08-25Refactor quantifier macros preprocessing pass (#1840)yoni206
Moved `src/theory/quantifiers/macros.{cpp,h}` to `src/preprocessing/passes/quantifier_macros.{cpp,h}`, and added the necessary methods for inheritance from PreprocessingPass. No need to add a test - regress0 fails when adding Assert(false) when assertions had changed.
2018-08-24Refactor nlExtPurify preprocessing pass (#1963)Haniel Barbosa
2018-08-23Refactor ITE simplification preprocessing pass. (#2360)Aina Niemetz
2018-08-22global-negate preprocessing pass (#2317)yoni206
2018-08-20 Make sygus inference a preprocessing pass (#2334)Andrew Reynolds
2018-08-16Refactor eager atoms preprocessing pass. (#2318)Mathias Preiner
2018-08-16Make quantifiers-preprocess preprocessing pass (#2322)Caleb Donovick
2018-08-16Refactor IteRemoval preprocessing pass (#1793)Andres Noetzli
This commit refactors the IteRemoval pass to follow the new format. In addition to moving the code, this entails the following changes: - The timer for the ITE removal is now called differently (the default timer of PreprocessingPass is used) and measures just the preprocessing pass without applySubstitutions(). It also measures the time used by both invocations of the ITE removal pass. - Debug output will be slightly different because we now just rely on the default functionality of PreprocessingPass. - d_iteRemover is now passed into the PreprocessingPassContext. - AssertionPipeline now owns the d_iteSkolemMap, which makes it accessible by preprocessing passes. The idea behind this is that the preprocessing passes collect information in AssertionPipeline and d_iteSkolemMap fits that pattern.
2018-08-16Refactor extended rewriter preprocessing pass (#2324)Haniel Barbosa
2018-08-16Refactor apply2const (#2316)Haniel Barbosa
2018-08-15Make sort inference a preprocessing pass (#2309)Andrew Reynolds
2018-08-07Document/refactor datatypes sygus simple symmetry breaking (#2233)Andrew Reynolds
2018-08-02Remove Subversion build info (#2250)Andres Noetzli
2018-07-26Removing unused CDTrailHashmap. (#2221)Tim King
2018-07-17Refactor sep-pre-skolem-emp preprocessing passyoni206
2018-07-10Move rewrite to pass (#2128)Caleb Donovick
2018-07-06Split ext theory to own file and document (#1809)Andrew Reynolds
2018-07-04Reorganize candidate rewrite rule filtering (#2116)Andrew Reynolds
2018-07-04Remove unused CDVector (#2139)Andres Noetzli
2018-07-02Refactor ApplySubsts preprocessing pass. (#2120)Aina Niemetz
2018-06-28New C++ API: Implementation of Result. (#2112)Aina Niemetz
2018-06-28Split and document ceg theory instantiators (#2094)Andrew Reynolds
2018-06-27Synthesize candidate-rewrites from standard inputs (#1918)Andrew Reynolds
2018-06-26sygusComp2018: Add evaluator (#2090)Andres Noetzli
This commit adds the Evaluator class that can be used to quickly evaluate terms under a given substitution without going through the rewriter. This has been shown to lead to significant performance improvements on SyGuS PBE problems with a large number of inputs because candidate solutions are evaluated on those inputs. With this commit, the evaluator only gets called from the SyGuS solver but there are potentially other places in the code that could profit from it.
2018-06-20Resolve CVC4_USE_SYMFPU in headers at config-time (#2077)Andres Noetzli
As described in issue #2013, we had `#ifdef CVC4_USE_SYMFPU` conditions in floatingpoint.h, which was problematic when installing the header files because the definition of `CVC4_USE_SYMFPU` was a compile-flag and simply including the header files in another project would be missing that definition. This commit moves floatingpoint.h to a template file floatingpoint.h.in and substitutes the value of `CVC4_USE_SYMFPU` at configure-time when generating floatingpoint.h (this is the same solution that integer.h and rational.h use). I have tested the fix with the examples provided in #2013 and they work.
2018-05-21Refactor sygus eval unfold (#1946)Andrew Reynolds
2018-05-15Refactor static learning preprocessing pass (#1857)yoni206
2018-05-10Sygus repair constants (#1812)Andrew Reynolds
2018-05-10Refactored BVAckermann preprocessing pass. (#1889)Aina Niemetz
2018-05-09Add the symmetry breaker module (#1847)PaulMeng
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback