summaryrefslogtreecommitdiff
path: root/test/regress
AgeCommit message (Collapse)Author
2017-10-09CBQI BV: Add inverse for more operators. (#1213)Aina Niemetz
This implements side conditions and the instantiation via word-level inversion for operators BITVECTOR_AND, BITVECTOR_OR, BITVECTOR_UREM (Index=1), BITVECTOR_LSHR (index=0).
2017-10-03Add regression from #50 regarding "as" parsing in smt2 (#1188)Andrew Reynolds
* Add regression from pull request #50, which was fixed separately in pull request #1162. * Improve comment in regression
2017-10-03Op overload parser (#1162)Andrew Reynolds
* Update parser for operator overloading. * Improvements * Updates * Add assert
2017-10-01Refactor check function in last call effort of non-linear extension. (#1175)Andrew Reynolds
2017-09-30SyGuS streaming solution mode (#1131)Andrew Reynolds
* Refactor conjecture class in ce guided instantiation, move to own file. In preparation for sygus streaming mode. * Infrastructure for streaming guards, more cleanup. * Do explicit exclusion to move to next solution for sygus streaming option, now functional. More cleanup. * More cleanup, add comments. * Update comments * Optimizations for invariant synthesis. Fix corner case for single invocation inference, more encapsulation in single inv utility. Minor fix for variable elimination in quantifiers rewriter. * Fix makefile. * Cleanup. * Remove unused includes. * Minor
2017-09-29Simplify representation of inversion Skolems for bv cegqi (#1164)Andrew Reynolds
* Simplify intermediate representation of inversion skolems for cegqi bit-vectors. Cache bv inversion status globally in QuantifierEngine. Generalize virtual term policy for marking eligible instantiation terms. Enable regression. * Enable other regression
2017-09-29Initial working version of BV word-level instantiation (#1158)Andrew Reynolds
* Initial work on BV CEGQI, still working on avoid circular dependencies with inversion skolems. * Guard by option, minor notes. * Minor * Minor fixes. * Minor
2017-09-28Improve finite model finding for recursive predicates (#1150)Andrew Reynolds
* Optimization for model finding for recursive functions involving branching positions. Update documentation, add regressions. * Simplifications, update comments.
2017-09-25Fix bug related to sort inference + subtypes. (#1125)Andrew Reynolds
2017-09-21Sygus inv templ refactor (#1110)Andrew Reynolds
* Decouple single invocation techniques from deep embedding techniques. Embed templates for invariant synthesis into grammar instead of as a global substitution. Add regression. * Update comment on class * Cleanup * Comments for sygus type construction.
2017-09-19Fix issue #1074, improve non-fatal error handling (#1075)Andres Noetzli
Commit 54d24c786d6a843cc72dfb5e377603349ea5e420 was changing CVC4 to handle certain non-fatal errors (such as calling get-unsat-core without a proceding unsat check-sat command) without terminating the solver. In the case of get-unsat-cores, the changes lead to the solver crashing because it was trying to print an unsat core initialized with the default constructor, so the member variable d_smt was NULL, which lead to a dereference of a null pointer. One of the issues of the way non-fatal errors were handled was that the error reporting was done in the invoke() method of the command instead of the printResult() method, which lead to the error described above and other issues such as a call to get-value printing a value after reporting an error. This commit aims to improve the design by adding a RecoverableModalException for errors that the solver can recover from and CommandRecoverableFailure to communicate that a command failed in a way that does not prohibit the solver from continuing to execute. The exception RecoverableModalException is thrown by the SMTEngine and the commands catch it and turn it into a CommandRecoverableFailure. The commit changes all error conditions from the commit above and adds a regression test for them.
2017-09-18Fix issue #1105 involving string to int (#1112)Andrew Reynolds
This was introduced by changing the implementation of "isNumber" in this commit: a94318b This fixes issue #1105.
2017-09-14Remove unhandled subtypes (#1098)Andrew Reynolds
* Remove unhandled subtypes, which consequently makes typing rules uniformly stricter based on weakening the subtype relation. Ensure coercions in the smt2 and cvc parser for Real decimal constants whose type is Integer. Ensure type annotations are computed during preRewrite to ensure rewriting (which does not preserve types) does not impact term construction for parametric datatypes. This fixes issue #1048 (we now give an type exception). * Update unit test for parametric datatypes to reflect new subtyping relation. * Remove deprecated test. * Make array construction for lambdas work with new subtype relations to handle lambdas like (lambda ((x Int) (y Int)) (ite (= x 0) 0.5 0.0)).
2017-09-13Add isConst check for lambda expressions. (#1084)Andrew Reynolds
Add isConst check for lambda expressions by conversions to and from an Array representation where isConst is implemented. This enables check-model to succeed on higher-order benchmarks. Change the builtin rewriter for lambda to attempt to put lambdas into constant form. Update regression.
2017-09-10Ensure that expand definitions is called on all non-variable expressi… (#1070)Andrew Reynolds
* Ensure that expand definitions is called on all non-variable expressions. In particular, it is necessary that the sets theory is notified when a set universe term occurs in the input to ensure options are set correctly. The commit moves this check from within check() to expandDefinitions(), and also adds the check for join image which relies on universe set. This fixes a bug reported by Arjun. Add and update regressions. * Add comments concerning expandDefinitions * Expand comment, move to .h
2017-09-05Remove support for conversions between uint32/uint16 and string. (#1069)Andrew Reynolds
* Remove support for conversions between uint32/uint16 and string. * Temporarily disable regression.
2017-08-31Answer unknown when uf-ss=no-minimal is combined with cardinality ↵Andrew Reynolds
constraints from user input, add regressions. (#1060)
2017-08-30Fix model construction for parametric types (#1059)Andrew Reynolds
Fix model construction for parametric types so that we enumerate types in order of dependencies, and avoid subterms of previously enumerated values. There was a bug in model construction for parametric types which was related to enumerating values that are subterms of other previously enumerated values created during model construction (which were not recorded). This commit adds all subterms of values we enumerate to the "already used value" sets of their respective types, as reflected in the changes to TypeSet. There is an extra wrinkle in making the above change, which was caught by the regression test/regress/regress0/fmf/dt-proper-model.smt2. The issue is specific to finite model finding and can be corrected by ensuring that base types (e.g. uninterpreted sorts) are enumerated first. The change to TheoryModel::buildModel that replaces "allTypes" with "type_list" fixes this wrinkle. This constructs a partially ordered list of types where T1 comes before T2 if values of T2 can contain terms of type T1 but not vice versa. Ordering our enumeration in this way is probably a good idea in general. This ensures we enumerate values for equivalence classes of e.g. Int before (Array Int Int) and means we exclude fewer intermediate values during model construction.
2017-08-14Build and test suite fixes for Windows (#186)Mark Laws
- Build fixes for Windows - Make proof checking tempfile handling portable - Test suite fixes for Windows
2017-08-08Use cache for datatypes cycle check, add regression.ajreynol
2017-08-07Optionally split regression tests into test groups (#207)Andres Noetzli
To prevent timing out on Travis, this commit adds the option to split the regression tests into groups and run each group in a separate job. The group of a test is determined by computing a checksum of its name.
2017-08-04Set default language to smt lib 2.6 (including as a base language for ↵ajreynol
sygus), update regressions.
2017-07-29Add support for charat in native language, minor cleanup.ajreynol
2017-07-20Fix a few bugs related to sygus.ajreynol
2017-07-12Make type rules more strict for operators whose type rules involve subtypes. ↵ajreynol
Disable support for subrange and predicate subtypes (which were only partially supported previously).
2017-07-10Add nl regression.ajreynol
2017-07-10Merge ntExt branch. Adds support for transcendental functions. Refactoring ↵ajreynol
of non-linear extension. Add factoring lemma scheme for non-linear. Add regressions.
2017-07-10Merge datatype shared selectors/sygus comp 2017 branch. Modify the datatypes ↵ajreynol
decision procedure to share selectors of the same type across multiple constructors. Major rewrite of the SyGuS solver. Adds several new strategies for I/O example problems (PBE) and invariant synthesis. Major simplifications to sygus parsing and synthesis conjecture representation. Do not support check-synth in portfolio. Add sygus regressions.
2017-07-05Fix for logic info, update regressions. Update casc tfa script.ajreynol
2017-07-05Non-linear supported in ALL logics. Minor fixes for set logic with sygus.ajreynol
2017-06-30Minor change to trigger selection, fixes related to subtypes (in macros, ↵ajreynol
cbqi, tptp parser), fix full saturation instantiation to not loop in rare case, update regressions, update casc scripts.
2017-06-28Enable non-linear solve by default, update regressions.ajreynol
2017-06-22Fix assertion failure due to missing clause id (#180)Andres Nötzli
This commit fixes bug 821. As written in the description of the bug, the issue is that `id` is not being set on one of the paths in addClause(), specifically in the case where all but one literal are assigned false and the remaining literal is assigned true. In that case, we are not actually adding anything and set the `id` to `ClauseIdUndef`.
2017-06-21Properly handle subtypes in smt2 printer.ajreynol
2017-06-16Merge pull request #170 from CVC4/fix_2_6_parser3Clark Barrett
Parse 'is', 'match' differently for non-DT input
2017-06-16Fix segfault by making unit conflict CDMaybeAndres Nötzli
This commit fixes bug 819 by making d_unitConflictId context dependent and adds a test case.
2017-06-16Parse 'is', 'match' differently for non-DT inputAndres Noetzli
In SMT 2.6, Datatypes are being introduced and they come with testers (indexed identifier of the form (_ is c)) and match expressions. This lead to failures in UFIDL benchmarks in SMT-LIB because they declare the function 'is'. This commit changes the parser s.t. it does not consider 'is' and 'match' special tokens unless the theory of datatypes is enabled.
2017-06-15Fix for bug 639.Clark Barrett
2017-06-15Add regression.ajreynol
2017-06-02Fix regression.ajreynol
2017-06-02Incorporate datatypes into smt comp script, add regression.ajreynol
2017-05-31Fix model construction for BV with cbqi. Minor change to defaults.ajreynol
2017-05-31Minor change to defaults, update smt comp script, minor changes to options ↵ajreynol
in regressions.
2017-05-26Checking that equalities belong to the arithmetic theory in the solve() routine.Tim King
2017-05-20Fix bug 812.ajreynol
2017-05-15Cleanup handling of division (possible fix for bugs 803, 804, 805).ajreynol
2017-05-15Merge pull request #158 from 4tXJ7f/fix_sets_rewriterAndrew Reynolds
Fix minor bug in sets rewriter
2017-05-15Fix minor bug in sets rewriterAndres Noetzli
As reported by Coverity, one of the switches in the sets rewriter had a missing break. This could lead to an assertion failure when rewriting the cardinality of a transpose as in the test case included in this commit.
2017-05-15Fix issue in ceg_instantiator related to types and theoryOf, fixes bug 802.ajreynol
2017-05-10Do not split on cardinality for string equivalence classes with non-constant ↵ajreynol
lengths if disequalities already imply sufficient lower bound. Fixes bug 799.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback