Mathias Preiner [Tue, 22 May 2018 00:54:09 +0000 (17:54 -0700)]
Add SymFPU licensing information. (#1952)
Andrew Reynolds [Mon, 21 May 2018 22:52:26 +0000 (17:52 -0500)]
Improvements in parsing and printing related to mixed int/real (#1879)
This eliminates some hacks for dealing with Int/Real.
- Eliminates the use of "to_real" to cast decimals like "2.0" that happen to be Int. We now replace these by (/ 2 1) instead of (to_real 2), which has the advantage of being smt-lib compliant for all theories, including QF_LRA.
- Eliminates the use of a hack to use "type ascriptions" when returning values from a get-value command. Instead, we use division with 1 when necessary. This affects the output of a few regressions, but we remain smt-lib compliant.
- Addresses a bug with printing arbitrary type ascriptions for smt2 terms. This partially addresses #1852.
- Updates our printing of negative rationals to be (/ (- n) m) instead of (- (/ n m)), which is consistent with the smt lib standard for real values (http://smtlib.cs.uiowa.edu/theories-Reals.shtml).
Andrew Reynolds [Mon, 21 May 2018 21:33:17 +0000 (16:33 -0500)]
Infrastructure to mark unused sygus strategies (#1950)
makaimann [Mon, 21 May 2018 21:07:48 +0000 (14:07 -0700)]
Handle IMPLIES in bool-to-bv and test it in regress0 (#1929)
Andrew Reynolds [Mon, 21 May 2018 19:09:12 +0000 (14:09 -0500)]
Refactor sygus eval unfold (#1946)
Andres Noetzli [Mon, 21 May 2018 18:37:26 +0000 (21:37 +0300)]
Remove Eclipse project files (#1928)
No one of the core devs is currently using Eclipse, so the Eclipse
project files are essentially useless since they are not guaranteed to
be up-to-date.
Andres Noetzli [Mon, 21 May 2018 18:00:44 +0000 (21:00 +0300)]
Fix compiler warning in hashsmt example (#1927)
Previously, we were using delete for an array allocated on the heap,
which caused a warning. @dddejan fixed this and other issues in PR #1909
but after @ajreynol fixed the other issues in a separate PR and to not
waste @dddejan's time, I am submitting this fix separately (note: the
fix is slightly different in that it changes the array to a vector,
making a delete[] unnecessary).
Haniel Barbosa [Mon, 21 May 2018 17:21:33 +0000 (12:21 -0500)]
Assign weight 1 for Boolean variables in SyGuS default grammars (#1948)
Caleb Donovick [Mon, 21 May 2018 15:29:14 +0000 (08:29 -0700)]
Fix file extension (#1919)
* Fix file extension
* Update Makefile
Haniel Barbosa [Sat, 19 May 2018 01:49:13 +0000 (20:49 -0500)]
changing default (#1944)
Andrew Reynolds [Fri, 18 May 2018 22:54:11 +0000 (17:54 -0500)]
Cache isInterpretedFinite (#1943)
Andrew Reynolds [Fri, 18 May 2018 20:02:18 +0000 (15:02 -0500)]
Cegis unif defaults to cegis when no unif (#1942)
Andrew Reynolds [Fri, 18 May 2018 17:53:53 +0000 (12:53 -0500)]
Unified fairness scheme for cegis unif (#1941)
Andrew Reynolds [Thu, 17 May 2018 21:31:30 +0000 (16:31 -0500)]
Catch type errors in sygus grammars for lambda (define-fun) constructors (#1937)
Andrew Reynolds [Thu, 17 May 2018 21:03:39 +0000 (16:03 -0500)]
Fix debugPrint and add regress. (#1934)
Haniel Barbosa [Thu, 17 May 2018 19:47:30 +0000 (14:47 -0500)]
Option to force return values of Bool functions to be constant in CegisUnif (#1930)
Andrew Reynolds [Thu, 17 May 2018 19:09:46 +0000 (14:09 -0500)]
Cegis-specific infrastructure (#1933)
Andrew Reynolds [Thu, 17 May 2018 14:23:14 +0000 (09:23 -0500)]
Internal propagation for refinement lemmas (#1932)
Andrew Reynolds [Wed, 16 May 2018 23:22:35 +0000 (18:22 -0500)]
Improve the separation resolution scheme in cegis unif (#1931)
yoni206 [Wed, 16 May 2018 01:17:01 +0000 (18:17 -0700)]
Refactor static learning preprocessing pass (#1857)
Andrew Reynolds [Tue, 15 May 2018 20:39:27 +0000 (15:39 -0500)]
Refactoring get enumerator values in construct candidate for cegis unif (#1926)
Haniel Barbosa [Tue, 15 May 2018 19:48:43 +0000 (14:48 -0500)]
adding regressions (#1925)
Haniel Barbosa [Tue, 15 May 2018 17:20:13 +0000 (12:20 -0500)]
Building and refining solutions with dynamic condition generation in CegisUnif (#1920)
Andrew Reynolds [Tue, 15 May 2018 15:40:29 +0000 (10:40 -0500)]
Fix free variables in cbqi preregister inst. (#1921)
Andrew Reynolds [Tue, 15 May 2018 03:25:40 +0000 (22:25 -0500)]
Fix annotations in regress2. (#1917)
Andrew Reynolds [Tue, 15 May 2018 02:27:07 +0000 (21:27 -0500)]
Minor improvements to --nl-ext-purify (#1896)
Andrew Reynolds [Tue, 15 May 2018 00:27:58 +0000 (19:27 -0500)]
Incorporating dynamic condition enumeration into cegis unif (#1916)
Martin [Mon, 14 May 2018 23:18:31 +0000 (00:18 +0100)]
Floating point theory solver based on SymFPU (#1895)
* Add some symfpu accessor functions to reduce the size of the literal 'back-end'.
* Enable the bit-vector theory when setting the logic, not in expandDefinition.
This is needed because it is possible to add variables of float or rounding mode
sort but not use any theory specific functions or predicates and thus not enable
the bit-vector theory.
* Use symfpu to implement the literal floating-point objects.
* Add kinds for bit-blasted components.
* Print the new kinds.
* Typing rules for the new kinds.
* Constant folding for the component kinds.
* Add support for components to the theory solver.
* Add explicit equivalences between classification functions and equalities.
* Use symfpu to do symbolic conversions of floating-point operations.
* Implement conversions via (over-)approximation and refinement.
* Correct a copy and paste error in the generation of uninterpretted functions for conversions.
Mathias Preiner [Mon, 14 May 2018 22:36:52 +0000 (15:36 -0700)]
Add contrib/get-symfpu for downloading symfpu. (#1905)
Haniel Barbosa [Mon, 14 May 2018 20:09:31 +0000 (15:09 -0500)]
Fix purification in SygusUnifRL (#1912)
Andrew Reynolds [Mon, 14 May 2018 16:33:14 +0000 (11:33 -0500)]
Add regressions, change defaults. (#1911)
Andrew Reynolds [Mon, 14 May 2018 15:29:08 +0000 (10:29 -0500)]
Flag to check invariance of entire values in sygus explain (#1908)
Florian Schanda [Mon, 14 May 2018 12:43:42 +0000 (13:43 +0100)]
Small change for more sensible line breaking in the output of get-model. (#1910)
Aina Niemetz [Fri, 11 May 2018 18:49:45 +0000 (11:49 -0700)]
Remove obsolete unit test for ackermannization. (#1906)
With #1902, test/regress/regress1/bug520-eager.smt2 is now obsolete.
Aina Niemetz [Fri, 11 May 2018 15:47:02 +0000 (08:47 -0700)]
Fix ackermannize preprocessing pass. (#1904)
Ackermannization did not consider cases where UF are Boolean. Model generation is
still not supported, but now guarded against when bit-vectors are combined with arrays
and/or uninterpreted functions and --bitblast=eager.
Andres Noetzli [Fri, 11 May 2018 02:34:30 +0000 (19:34 -0700)]
Support multiple sets of command line args in regs (#1902)
This commit adds support for multiple sets of command line arguments for
regressions. Each use of a `COMMAND-LINE` directive is interpreted as a
separate set of command line arguments.
Haniel Barbosa [Fri, 11 May 2018 01:43:09 +0000 (20:43 -0500)]
Also exclude ITEs from ITE conditions in SygusUnifStrat (#1903)
Andrew Reynolds [Thu, 10 May 2018 22:43:48 +0000 (17:43 -0500)]
Exclude Boolean connectives from ITE conditions in SygusUnifStrat (#1900)
Andrew Reynolds [Thu, 10 May 2018 21:48:51 +0000 (16:48 -0500)]
Sygus repair constants (#1812)
Haniel Barbosa [Thu, 10 May 2018 20:57:54 +0000 (15:57 -0500)]
Static learn redundant operators in CegisUnif (#1899)
Andrew Reynolds [Thu, 10 May 2018 20:35:51 +0000 (15:35 -0500)]
Add ITE to default Boolean sygus grammar (#1898)
Aina Niemetz [Thu, 10 May 2018 18:25:19 +0000 (11:25 -0700)]
Refactored BVAckermann preprocessing pass. (#1889)
Andrew Reynolds [Thu, 10 May 2018 16:38:03 +0000 (11:38 -0500)]
Fix priority of decisions for cegis unif (#1897)
Haniel Barbosa [Wed, 9 May 2018 21:45:43 +0000 (16:45 -0500)]
Piecing solutions together in CegisUnif (#1894)
yoni206 [Wed, 9 May 2018 19:05:30 +0000 (12:05 -0700)]
Reorder class members in bv-to-bool and bool-to-bv preprocessing passes. (#1893)
Andrew Reynolds [Wed, 9 May 2018 16:54:59 +0000 (11:54 -0500)]
Better option names for PBE (#1891)
Andrew Reynolds [Wed, 9 May 2018 15:50:55 +0000 (10:50 -0500)]
Make symmetry-breaker-exp into a preprocessing pass (#1890)
PaulMeng [Wed, 9 May 2018 12:41:52 +0000 (07:41 -0500)]
Add the symmetry breaker module (#1847)
Mathias Preiner [Tue, 8 May 2018 22:18:15 +0000 (15:18 -0700)]
Refactor bv-abstraction preprocessing pass. (#1860)
Andrew Reynolds [Tue, 8 May 2018 21:28:22 +0000 (16:28 -0500)]
Infrastructure for approximations in model output (#1884)
Andrew Reynolds [Tue, 8 May 2018 19:50:47 +0000 (14:50 -0500)]
Support for str.<= and str.< (#1882)
Aina Niemetz [Tue, 8 May 2018 19:12:01 +0000 (12:12 -0700)]
Fix order of preprocessing pass registration. (#1887)
Haniel Barbosa [Tue, 8 May 2018 18:41:37 +0000 (13:41 -0500)]
Classifying data in SygusUnifRL (#1886)
Andrew Reynolds [Tue, 8 May 2018 16:47:53 +0000 (11:47 -0500)]
Infrastructure for CEGQI handled status (#1873)
Haniel Barbosa [Tue, 8 May 2018 12:32:10 +0000 (07:32 -0500)]
only lazy trie changes (#1885)
Andrew Reynolds [Mon, 7 May 2018 15:22:27 +0000 (10:22 -0500)]
Add support for str.code (#1821)
Andrew Reynolds [Sat, 5 May 2018 07:23:54 +0000 (02:23 -0500)]
Fix handling of TO_REAL in cvc printer (#1876)
Andrew Reynolds [Sat, 5 May 2018 00:10:51 +0000 (19:10 -0500)]
Remove special case for record selector printing. (#1875)
Andrew Reynolds [Fri, 4 May 2018 21:54:40 +0000 (16:54 -0500)]
Cegis unif register evaluation points (#1878)
Andres Noetzli [Fri, 4 May 2018 18:32:38 +0000 (11:32 -0700)]
Make --output-lang consistent with --lang (#1877)
Andrew Reynolds [Fri, 4 May 2018 16:46:31 +0000 (11:46 -0500)]
Do not print tuples. (#1874)
Mathias Preiner [Fri, 4 May 2018 05:50:41 +0000 (22:50 -0700)]
Refactor bv-intro-pow2 preprocessing pass. (#1851)
Andres Noetzli [Fri, 4 May 2018 04:48:19 +0000 (21:48 -0700)]
Fix printing of multiple datatypes (#1872)
Haniel Barbosa [Fri, 4 May 2018 02:40:30 +0000 (21:40 -0500)]
Move Lazy trie datastructure to its own file (#1871)
Preparation for further developing CegisUnif
Andrew Reynolds [Fri, 4 May 2018 02:11:18 +0000 (21:11 -0500)]
Initialize cegis unif strategy (#1861)
Andrew Reynolds [Fri, 4 May 2018 00:54:28 +0000 (19:54 -0500)]
Document datatypes sygus (#1818)
Andrew Reynolds [Fri, 4 May 2018 00:00:40 +0000 (19:00 -0500)]
Sets subtypes (#1095)
Make sets theory properly handle equalities between (Set T1) and (Set T2) whenever equalities between T1 and T2 are also handled. Generalizes previous approach for type correctness conditions. Add regression.
Mathias Preiner [Thu, 3 May 2018 23:36:48 +0000 (16:36 -0700)]
Fix redundant internalPush calls. (#1865)
The SMT2 parser by default passes a true expression to the CheckSatCommand,
which results in checkSatisfiability (in SmtEngine) to always do an internal
push. As a consequence, the work of each check-sat was reset even though no
user level push/pop happened.
Andres Noetzli [Thu, 3 May 2018 22:34:43 +0000 (15:34 -0700)]
Fix warnings in proof code (#1850)
Andrew Reynolds [Thu, 3 May 2018 19:23:48 +0000 (14:23 -0500)]
Interleave quantifiers checks with ground theory checks at LAST_CALL (#1834)
Andrew Reynolds [Thu, 3 May 2018 17:24:08 +0000 (12:24 -0500)]
Option to interleave tangent plane inferences (#1833)
Andrew Reynolds [Thu, 3 May 2018 16:30:09 +0000 (11:30 -0500)]
Link cegis unif with the enumeration manager (#1859)
Haniel Barbosa [Thu, 3 May 2018 12:54:27 +0000 (07:54 -0500)]
Make CegisUnif default to Cegis when no unif used (#1836)
Andrew Reynolds [Thu, 3 May 2018 06:16:08 +0000 (01:16 -0500)]
Fix cvc printer for nullary constructors (#1856)
Andres Noetzli [Thu, 3 May 2018 03:07:36 +0000 (20:07 -0700)]
Remove (dummy) SMT1 printer (#1854)
Andrew Reynolds [Thu, 3 May 2018 02:27:53 +0000 (21:27 -0500)]
Support HORN logic string (#1849)
Andrew Reynolds [Thu, 3 May 2018 01:25:09 +0000 (20:25 -0500)]
Initial support for string standard in smt lib 2.6 (#1848)
Andrew Reynolds [Tue, 1 May 2018 22:30:25 +0000 (17:30 -0500)]
Cegis unif enumerator manager (#1837)
Andrew Reynolds [Tue, 1 May 2018 15:47:40 +0000 (10:47 -0500)]
Improve tangent planes for transcendental functions (#1832)
Haniel Barbosa [Mon, 30 Apr 2018 20:33:21 +0000 (15:33 -0500)]
Refactor real2int (#1813)
This commit refactors the real2int preprocessing pass into the new style. This commit is essentially just a code move and adds a regression test for the preprocessing pass.
Andres Noetzli [Mon, 30 Apr 2018 19:17:13 +0000 (12:17 -0700)]
Remove dead code in bv-to-bool preprocessing pass (#1828)
Fixes Coverity issue
1468436. As Coverity correctly detects,
kind::BITVECTOR_XOR is dealt with in an if-statement before the switch
statement on kind. This is because kind::XOR is binary while
kind::BITVECTOR_XOR is n-ary (as a comment in the code correctly
indicates).
Andrew Reynolds [Mon, 30 Apr 2018 18:54:07 +0000 (13:54 -0500)]
Remove subsort symmetry breaking (#1807)
Andrew Reynolds [Mon, 30 Apr 2018 18:13:22 +0000 (13:13 -0500)]
Fix 1156 (#1830)
Andres Noetzli [Mon, 30 Apr 2018 17:52:11 +0000 (10:52 -0700)]
Disable unsat-cores/proofs for slow regression (#1835)
Andrew Reynolds [Mon, 30 Apr 2018 03:25:42 +0000 (22:25 -0500)]
Allow multiple functions in sygus unif approaches (#1831)
Andrew Reynolds [Mon, 30 Apr 2018 03:05:53 +0000 (22:05 -0500)]
Make factoring inference more aggressive (#1825)
Andrew Reynolds [Mon, 30 Apr 2018 02:43:51 +0000 (21:43 -0500)]
Refactor nonlinear check (#1814)
Andrew Reynolds [Mon, 30 Apr 2018 01:45:37 +0000 (20:45 -0500)]
Improvements to simple transcendental function check model. (#1823)
Haniel Barbosa [Sat, 28 Apr 2018 13:11:09 +0000 (08:11 -0500)]
Initial implementation of SygusUnifRL (#1829)
Andrew Reynolds [Sat, 28 Apr 2018 00:43:05 +0000 (19:43 -0500)]
Make construct solution behavior specific to SygusIO (#1827)
Andrew Reynolds [Fri, 27 Apr 2018 23:45:58 +0000 (18:45 -0500)]
Print function for equality status. (#1826)
Andrew Reynolds [Fri, 27 Apr 2018 20:03:31 +0000 (15:03 -0500)]
Simplify tangent plane direction (#1824)
Haniel Barbosa [Fri, 27 Apr 2018 19:33:01 +0000 (14:33 -0500)]
New module for synthesizing functions in a data-driven SyGuS approach (#1819)
Andrew Reynolds [Fri, 27 Apr 2018 18:55:08 +0000 (13:55 -0500)]
Core improvements to extended rewriter (#1820)
Andrew Reynolds [Thu, 26 Apr 2018 16:59:58 +0000 (11:59 -0500)]
Fix subgoal generation context (#1816)
yoni206 [Wed, 25 Apr 2018 22:12:51 +0000 (15:12 -0700)]
Refactor array-proofs and uf-proofs (#1655)
This commit unifies duplicate code blocks from array_proof.cpp and uf_proof.cpp into theory_proof.cpp.
Andrew Reynolds [Wed, 25 Apr 2018 21:00:11 +0000 (16:00 -0500)]
Equality resolution in the extended rewriter (#1811)
yoni206 [Wed, 25 Apr 2018 18:54:23 +0000 (11:54 -0700)]
Refactor bv-to-bool and bool-to-bv preprocessing passes (#1788)
Andrew Reynolds [Wed, 25 Apr 2018 16:29:59 +0000 (11:29 -0500)]
Move candidate rewrite code to own file (#1804)
Andrew Reynolds [Wed, 25 Apr 2018 16:02:24 +0000 (11:02 -0500)]
Add benchmark requiring subgoal generation with induction. Disable option. (#1806)