Commit Graph

17 Commits

Author SHA1 Message Date
Andrew Reynolds
42e503ba7d More preparation for strict type rules (#8733)
This is work towards making equalities and substitutions between terms of equal types.
2022-05-07 02:22:12 +00:00
Gereon Kremer
9dc2d55ce2 Move tests around (#8670)
This PR moves two tests that dealt with particular issues out of unit/api/cpp (which should only have generic unit tests). They are now in unit/theory and api/cpp/.
2022-04-28 18:30:46 +00:00
Mathias Preiner
d01e59c13b Update copyright headers for release 1.0 (#8539) 2022-04-05 20:38:57 +00:00
Mathias Preiner
bbcd471ed4 Introduce internal namespace and remove api namespace. (#8443)
The public cvc5 API now lives in the cvc5 namespace. All internal parts were moved into the (new) internal namespace.
The final hierarchy will be as follows:

cvc5
  ~~ public API
  ::context
  ::internal
  ::parser
  ::main

After this PR it will be:

cvc5
  ~~ public API
  ::internal
      ::context
      ::main
  ::parser
2022-03-29 23:23:01 +00:00
Mathias Preiner
cc808da53d api: Unify mkOp variants. (#8369)
Co-authored-by: Gereon Kremer <nafur42@gmail.com>
2022-03-25 23:57:10 +00:00
Mathias Preiner
4a58ed7daf api: Unify mkTerm variants. (#8357) 2022-03-22 00:22:41 +00:00
Andrew Reynolds
2f1483e2e3 Remove unecessary methods from the API (#8260)
Removes checkEntailed from Solver.
Removes isEntailed, isNotEntailed, isEntailedUnknown from Result.
Removes isSubsortOf, isFunctionLike, getUninterpretedSortName, getSortConstructorName from Sort.

Updates examples and unit tests.
2022-03-14 18:29:30 +00:00
Andrew Reynolds
27b4722406 Always ensure literal when requiring phase via inference manager (#8292)
Also to be safe, ensures we clear pending in quantifiers engine.

Fixes cvc5/cvc5-projects#484.
2022-03-12 00:26:37 +00:00
Andrew Reynolds
444a2f493e Add unit for fixed project issue (#8253)
Fixes cvc5/cvc5-projects#377.

Was not able to reproduce this on master.
2022-03-08 02:53:18 +00:00
Aina Niemetz
f33c9b608b FP: Rename tester kinds. (#8037)
This renames FP tester kinds for consistency:
FLOATINGPOINT_ISINF -> FLOATINGPOINT_IS_INF
FLOATINGPOINT_ISN -> FLOATINGPOINT_IS_NORMAL
FLOATINGPOINT_ISNAN -> FLOATINGPOINT_IS_NAN
FLOATINGPOINT_ISNEG -> FLOATINGPOINT_IS_NEG
FLOATINGPOINT_ISPOS -> FLOATINGPOINT_IS_POS
FLOATINGPOINT_ISZ -> FLOATINGPOINT_IS_ZERO
2022-02-04 15:01:42 +00:00
Andres Noetzli
f25aa7f135 [Rewrite Synthesis] Fix args for non-chaining ops (#7996)
Fixes https://github.com/cvc5/cvc5-projects/issues/445. Fixes
https://github.com/cvc5/cvc5-projects/issues/446. The issue is related
to the preprocessing pass for doing rewrite rule synthesis based on the
input. It was removing duplicate arguments from both chaining operators
and non-chaining operators when constructing the corresponding
datatypes. In the case of non-chaining operators, it could happen that
the constructor of the datatype did not have the correct number of
arguments for a given kind if there was a term where multiple arguments
were the same. This commit fixes the issue by doing the duplicate
elimination only for chaining operators.
2022-01-28 16:56:27 +00:00
Andres Noetzli
7ed586537b Fix TypeNode::substitute() for type constants (#7920)
Fixes cvc5/cvc5-projects#395. The
TypeNode::substitute() method did not account for type constants such
as the Boolean type and was trying to use a NodeBuilder to build such
constants instead. This commit fixes the issue by adding a special case
for types without children.
2022-01-11 17:19:15 +00:00
Andres Noetzli
f18f1bd8c6 Fix TypeNode::substitute() (#7916)
Fixes cvc5/cvc5-projects#397. Fixes
cvc5/cvc5-projects#399. After performing the
substitution on the child node, the result was not added as a child to
the node under construction, resulting in nodes with too few children.
This commit fixes that issue.
2022-01-11 14:29:49 +00:00
yoni206
ad885db118 Integrate new int-blaster (#7781)
This PR removes the code that translates from bit-vectors to integers from the bv_to_int preprocessing pass, and replaces it with a call to the IntBlaster module.

Tests are updated and added, as well as other minor changes.

Solves the following issues (and contains corresponding tests):
cvc5/cvc5-projects#345
cvc5/cvc5-projects#344
cvc5/cvc5-projects#343

@mpreiner FYI
2021-12-13 16:16:08 +00:00
Gereon Kremer
5108f5c667 Fix 32bit issue in sep_log_api test (#7752)
This uses the proper `t.getInt64Value()` getter instead of `std::stoll(t.toString())`, fixing an issue on 32bit platforms.
2021-12-07 01:46:54 +00:00
Gereon Kremer
561b989855 Refactor IO stream manipulators (#7555)
This PR consolidates SetLanguage, ExprSetDepth and ExprDag into a single consistent utility. Also, it makes it play more nicely with users setting these options and removes some obsolete code.
2021-11-22 22:31:31 +00:00
yoni206
40272d5f3a Translating API tests to Python — part 1 (#7597)
This PR translates some of the API tests from here to Python. The other tests are translated in a private branch and will be added in a separate PR.
2021-11-16 18:56:37 +00:00