summaryrefslogtreecommitdiff
path: root/src/parser/smt2
AgeCommit message (Collapse)Author
2018-04-08Check free variables in assertions (#1737)Andrew Reynolds
2018-03-09Add support for SMT-LIB v2.5 command get-unsat-assumptions (#1653)Aina Niemetz
2018-03-06Make statistics output consistent. (#1647)Mathias Preiner
* Fixes --hide-zero-stats (and really skips the 0 values) * Removes the additional newline after each statistic * Introduces theory::getStatsPrefix(TheoryId) to generate consistent prefixes for statistics based on the theory id (e.g., THEORY_BV -> "theory::bv").
2018-03-05Enable -Wsuggest-override by default. (#1643)Mathias Preiner
Adds missing override keywords.
2018-03-05Add support for check-sat-assuming. (#1637)Aina Niemetz
This adds support for check-sat-assuming. It further adds support for SmtEngine::query() over a vector of Expressions, e.g., smtEngine->query({a, b}); checks the validity (of the current input formula) under assumption (not (or a b)).
2018-02-27Remove unused code in pushDefineFunRecScop in smt2.cpp. (#1627)Aina Niemetz
2018-02-20Minor fixes and additions for transcendental functions (#1612)Andrew Reynolds
Also adds parsing support for PI in smt2 with syntax "real.pi".
2018-02-07Fixing more inconsistent usages of override. (#1575)Tim King
2018-02-07Add remaining transcendental functions (#1551)Andrew Reynolds
2018-01-06Removing throw specifiers from src/parser/. (#1486)Tim King
2017-12-27Rel smt parser (#1446)Arjun Viswanathan
2017-12-10Fix issue 1433. (#1435)Andrew Reynolds
2017-12-06Add command for define-fun-rec and add to API (#1412)Andrew Reynolds
2017-12-01Fix reset-assertions (#1413)Andres Noetzli
This commit fixes two issues with reset-assertions: - pending pops were not done in SmtEngine, resulting in the following assertion failure: d_userLevels.size() == 0 && d_userContext->getLevel() == 1 - all definitions were erased on reset-assertion in an SMT2 file, leading to errors about undefined types
2017-12-01Refactor and generalize PBE strategies (#1410)Andrew Reynolds
2017-11-23Ho parsing and regressions (#1350)Andrew Reynolds
2017-11-22Sygus Lambda Grammars (#1390)Andrew Reynolds
2017-11-19Removing an unused variable from SygusInput. Resolves CID 1362932. (#1392)Tim King
2017-11-05Make higher-order a flag in logic info. (#1318)Andrew Reynolds
* Make higher-order a flag in logic info. * Format * Minor * Format
2017-10-20Make Sygus conjectures higher-order (#1244)Andrew Reynolds
* Represent sygus synthesis conjectures using higher-order quantification, remove associated hacks. * Minor fix * Fix bug in Node::hasBoundVar for non-ground operators. * Add regression. * Address review. * Apply clang format.
2017-10-18Strings API escape sequences (#1245)Andrew Reynolds
* Argument for strings class to specify whether to process escape sequences. * Change default value on string constructor. * Make CVC4::String::toString symmetric to the constructor for CVC4::String, document. * Clang format.
2017-10-12Sygus logics (#1226)Andrew Reynolds
* Allow any smt2 logic to be a sygus logic. Add non-linear SyGuS regressions. * Minor * Add case for reals, comment. * Fix regress1.
2017-10-11Move unsat core names to smt engine (#1192)Andrew Reynolds
* Move unsat core names to SmtEnginePrivate. Adds a SetExpressionNameCommand to do this. Removes the names field from GetUnsatCoreCommand. * Comment * Pass expression names by reference. * Update throw specifiers. * Minor * Switch expression names to CDMap, simplify interface for printing unsat core names. * Revert throw specifier change. * Minor simplifcations
2017-10-09Split term database (#1206)Andrew Reynolds
* Move equality query to own file, move equality inference to quantifiers engine. * Move quantifiers attributes out of TermDb and into QuantAttribute. * Move term database sygus to quantifiers engine, move some attributes to quantifiers attributes header. * Split term database into term util. * Partial fix for #1205 that eliminates need for dependency in node.cpp. * Add more references to github issues.
2017-10-05Minor change to how SyGus commands are translated to SmtEngine commands. ↵Andrew Reynolds
This ensures a single success is printed for synth-fun and synth-inv. (#1193)
2017-10-03Op overload parser (#1162)Andrew Reynolds
* Update parser for operator overloading. * Improvements * Updates * Add assert
2017-09-18Floating point symfpu support (#1103)Martin
- Update the parser to the new constant construction - Fix the problem with parsing +/-zero and remove some dead code - Extend the interface for literal floating-point values. - Add a constructor so that a parameteric operator structure can be created from a type - Add constructors so parametric operator constants can be easily converted - Update SMT2 printing so that it uses the informative output
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-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-25Added missing includes (algorithm).Aina Niemetz
Algorithm was previously removed from src/util/regexp.h which broke compilation on some platforms.
2017-08-04Set default language to smt lib 2.6 (including as a base language for ↵ajreynol
sygus), update regressions.
2017-07-20Moving from the gnu extensions for hash maps to the c++11 hash mapsTim King
* Replacing __gnu_cxx::hash_map with std::unordered_map. * Replacing __gnu_cxx::hash_set with std::unordered_set. * Replacing __gnu_cxx::hash with std::hash. * Adding missing includes.
2017-07-20Fix a few bugs related to sygus.ajreynol
2017-07-17Remove PtrCloser (#198)Andres Noetzli
With C++11, we don't need PtrCloser anymore because we can just use std::unique_ptr.
2017-07-16Use CXXFLAGS when compiling parsers (#197)Andres Noetzli
ANTLR generates C files that we compile with the C++ compiler. To do so, we set CC=CXX in the `Makefile.am`s of the parsers. Previously, we did not copy the CXXFLAGS to the CFLAGS, which could result in problems, e.g. when using -std=gnu++11 in the CXXFLAGS, compiling the parsers would fail if they used C++11 features (configure.ac usually modifies CXX to include the -std=gnu++11 flag but if it is included in CXXFLAGS, the CXX is not changed).
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-07Update copyright headers.Mathias Preiner
2017-07-07Use new copyright header format.Mathias Preiner
2017-07-05Non-linear supported in ALL logics. Minor fixes for set logic with sygus.ajreynol
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-05-16Avoid tokenizing FP tokens in non-FP inputAndres Noetzli
This commit addresses bug 807. CVC4 was parsing floating-point related tokens such as NaN as floating-point tokens even for inputs that do not use the FP theory, which lead to failing SMT-LIB benchmarks that declare functions named NaN.
2017-04-28Minor fixesajreynol
2017-04-24Fix parsing selectors for nullary constructors in smtlib 2.6 format.ajreynol
2017-04-12Add nullary operator metakind.ajreynol
2017-03-22Work on new approach for sygus involving conditional solutions. Refactoring ↵ajreynol
of sygus solver. Bug fix for sygus solution reconstruction.
2017-03-16More fixes, features to examples.ajreynol
2017-03-16Minor fixes, always expand applications of lambdas at preprocess.ajreynol
2017-03-16Support for SMT LIB 2.6 syntax declare-datatype and match.ajreynol
2017-03-16Parsing support for SMT LIB 2.6. Minor fixes for printing datatypes. Fix for ↵ajreynol
mkGroundTerm for parametric datatypes. Minor change to run_regression to allow regressions to override input language. Minor refactoring to Cvc.g.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback