summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-27Merge branch 'master' into fixWShadowfixWShadowAndres Noetzli
2020-02-26Add support for is_digit and regular expression difference (#3828)Andrew Reynolds
Towards support for the strings standard. This adds support for str.is_digit and re.diff, which both can be eliminated eager during preprocessing.
2020-02-26Disable regression that times out on debug (#3833)Andrew Reynolds
2020-02-26Move fix for vacuous sygus types out of the parser (#3820)Andrew Reynolds
This moves a fix for vacuous sygus types out of the parser and into the Expr-level datatype. This is a temporary fix so that further progress can be made on parser migration (and to declutter the parser). This will be refactored when an API for SyGuS is established (CVC4/cvc4-projects#38).
2020-02-26Initial work towards -Wshadow (#3817)Andrew Reynolds
2020-02-26Some initial work on using words (#3819)Andrew Reynolds
Towards support for sequences (CVC4/cvc4-projects#23.)
2020-02-26Infrastructure for tautological literals in nonlinear solver (#3795)Andrew Reynolds
Work towards CVC4/cvc4-projects#113 and #3783. This PR adds the ability to mark certain literals as being tautological, since they can be assumed to hold in all models. This is important for internally generated literals whose purpose is to guide models generated by the linear solver but should not hinder our ability to answer "sat". This PR is required for further refactoring of check-model for transcendental functions.
2020-02-26Use side effect utility for non-linear lemmas (#3780)Andrew Reynolds
Fixes #3647. Previously, when doing incremental linearization for transcedental functions, we would add points to the list of secant points at the time when linearization lemmas were generated. However, our strategy has been updated such that lemmas may be abandoned (say in the case that a higher priority lemma is found). Thus, our list of secant points had spurious points corresponding to lemmas that weren't sent. This led to assertion failures, and likely led to gaps in our linearization, hindering our ability to say sat/unsat. This PR introduces a "lemma side effect" class to ensure that modifications to the state of the nonlinear solver are in sync with the lemmas we send out.
2020-02-26Fix regression (#3827)Andrew Reynolds
2020-02-26More fixes for printing sygus commands (#3812)Andrew Reynolds
Towards v1 -> v2 sygus conversion. This makes several fixes and improvements related to printing sygus commands: (1) The logic is extended with LIA, DT, UF internally during setDefaults instead of during parsing. This is the correct place for this extension of the logic since it should be applied regardless of the parser. 5 existing logic bugs were discovered as a result of this in regressions, which are fixed by this PR. (2) Ensures that terms in sygus grammars are printed without letification, since this is prohibited in sygus. Notice the formulas printed by constraints need to be letified (otherwise we can't convert large lustre benchmarks). Thus, the letification threshold should determine this but always be overridden for grammar terms. (3) Ensures final options are set for all sygus-specific commands, which follows the standards prescribed by sygus v2 (all set-* commands come before other commands).
2020-02-26Basic support for regular expression complement (#3437)Andrew Reynolds
Fixes #3408 . Adds basic rewriter, parsing, type checking and implements the required cases in regexp_operation.cpp. It also adds some missing documentation in regexp_operation.h
2020-02-26fixAndres Noetzli
2020-02-26Refactor type ascriptions in the parser (#3825)Andrew Reynolds
Towards parser migration. This consolidates two blocks of code (cvc/smt2) that do type ascriptions to a utility function in the parser. It updates this function to use the new API. This code will be further refactored when the interface for parametric datatype constructors is further developed in the new API.
2020-02-26Minor improvement to ParseOp (#3808)Andrew Reynolds
2020-02-26Merge branch 'master' into fixWShadowAndres Noetzli
2020-02-26Fix -Wshadow warnings in common headersAndres Noetzli
2020-02-26Use default consts when not using any const during grammar normalization (#3807)Andrew Reynolds
Fixes #3802. If we decide not to add the any constant constructor due to insufficient cegqi algorithms (or if the sort is Boolean), then we should add the default constants for a sort.
2020-02-26Fix node arity issue in reduction of int2bv (#3777)Andrew Reynolds
2020-02-26Move equivalence class info to its own file in strings (#3799)Andrew Reynolds
Code move only, no updates to behavior or content of code in this PR.
2020-02-26Support for witnessing choice in models (#3781)Andrew Reynolds
Fixes #3300. This adds an option --model-witness-choice that ensures that choices in models are of the form (choice ((x Int)) (or (= x c) P)), which is helpful if the user wants to know a potential value in the range of the choice.
2020-02-26Remove portfolio leftovers (#3821)Andres Noetzli
Commit 1c09572e0e2031519a103caa2a4af0d9bd34a9c5 removed the portfolio build but there were some leftovers. This commit removes them.
2020-02-26Minor cleaning of smt2 parser (#3823)Andrew Reynolds
Towards parser migration, will make the diff of the eventual conversion a bit smaller.
2020-02-25Embed mkAssociative utilities within the API. (#3801)Andrew Reynolds
Towards parser/API migration.
2020-02-25Sets & Relations Java example (#3816)mudathirmahgoub
Fixes [(Bugzilla #677)](https://github.com/CVC4/cvc4-projects/issues/25).
2020-02-25Sets & Relations Java example (#3816)mudathirmahgoub
2020-02-25remove redundant includes (#3815)yoni206
I came across these two redundant includes in theory_uf.h and removed them.
2020-02-24bv_to_int preprocessing passyoni206
Introduces a preprocessing pass that translates bv problems to integer problems.
2020-02-24Fixes for quantifiers documentation (#3811)Andrew Reynolds
Minor fixes discovered during development of sygus-inst.
2020-02-24Utilities for words (#3797)Andrew Reynolds
This adds a utility file for handling operations over constant "words" (this will eventually generalize string or sequence constants). This is work towards CVC4/cvc4-projects#23. Also improves documentation in regexp.h.
2020-02-24Convert parser input interface to api::Term (#3809)Andrew Reynolds
2020-02-24Fix bugs related to printing Sygus commands (#3804)Abdalrhman Mohamed
With this commit, most Sygus problems should print correctly. The current printing functionality was tested on 158 Sygus regress files (0, 1, and 2) and 153 of them were printed in Sygus2 format and contained "(check-synth)". The printing functionality was tested again on the generated files and gave almost the same results.
2020-02-24Add missing functions to new C++ API (#3769)Andrew Reynolds
2020-02-24Make lambda rewriter more robust (#3806)Andres Noetzli
The lambda rewriter was not robust to the case where the lambda of the array representation contained a disequality, e.g. `not(x = 1))`. It would process it as `ite(not(x = 1), true, false)` instead of `ite(x = 1, false, true)`, which meant that it wasn't able to turn it into an array representation when checking const-ness. Additionally, the rewriter had issues when the lambda was of the form `ite((= x c1), true, (= y c2))` (after turning it into an array and then into a lambda) because it is expecting the false branch of the `ite` to not contain `y` variables, making it non-constant despite the array being constant. This commit solves that issue by normalizing `ite(not(c), x, y) ---> ite(c, y, x)`.
2020-02-22Minor refactoring of equality notifications (#3798)Andrew Reynolds
Towards moving functionalities to proper places in strings. Also removes a block of code that was duplicated as a result of splitting the ExtfSolver.
2020-02-22RIP th_lra.plf (#3796)Alex Ozdemir
Rest in Peace, old LRA signature.
2020-02-22 Move check memberships to reg exp solver (#3793)Andrew Reynolds
There was previously a function in TheoryStrings to make the proper call to checkMembership. In the refactored code, this is no longer necessary and the interface to RegExp can be simplified.
2020-02-21Move cardinality inference scheme to base solver in strings (#3792)Andrew Reynolds
Moves handling of cardinality to the base solver, refactors how cardinality is accessed. No intended behavior change in this commit.
2020-02-21Dump boolean propagations and conflicts for decision tree org-mode viewer ↵makaimann
(#3788) PR #2871 added trace tags for dumping the decision tree in org-mode format. However, it only dumped theory propagations/conflicts. This could be confusing because it would appear to backtrack without reaching a conflict (but actually the conflict was at the propositional level). This commit also adds dumping of boolean propagations and conflicts.
2020-02-21Switch to th_lira.plf (#3741)Alex Ozdemir
Switches arith_proof.cpp from th_lra to th_lira. Changes: Eliminate the d_realMode hack. instead: modify printOwnedTermAsType prints as integers OR reals, depending on expectedType. simultaneously: write printOwnedTermAsType more concisely also: reimplement printOwnedSort. Change to the LIRA axioms: Because they reason about bound types using side conditions, we no longer need to worry about choosing the correct strictness for our axiom. This allows us to cut out a lot of code, rewriting & shrinking printTheoryLemmaProof. They also have different names. This requires us to change a lot of string literals enable proof-checking for many tests.
2020-02-21New C++ API: Remove TOTAL kinds. (#3794)Aina Niemetz
2020-02-21Simple changes towards unicode string standard (#3791)Andrew Reynolds
This updates --lang=smt2.6.1 with the minor syntactic differences from the current syntax and the standard here: http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml. The next steps will be to address the more invasive changes required to support the standard.
2020-02-21Adding checks to the validation of 'bv-sat-solver' to ensure that the ↵Andrew V. Jones
selected SAT solver is compiled-in (#3771)
2020-02-21Split extended functions solver in strings (#3768)Andrew Reynolds
2020-02-21Remove IntReal tightening axioms from th_lira.plf (#3787)Alex Ozdemir
2020-02-20Remove front-end support for Chain (#3767)Andrew Reynolds
2020-02-20Remove unused code (#3782)Andres Noetzli
2020-02-20Minor removals (#3786)Andrew Reynolds
Found while working on parser migration of datatypes.
2020-02-20Remove parser from bindings (#3779)Andres Noetzli
2020-02-19resource manager: Add statistic for every resource. (#3772)Mathias Preiner
This commit adds statistics for all resource steps. A resource statistic is incremented by 1 if the resource is spent (via `spendResource`). Fixes #3751.
2020-02-19Fix symmetry breaking for multiple sygus types (#3775)Andrew Reynolds
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback