51 Commits

Author SHA1 Message Date
Daniel Larraz
ec9cbcb6ce doc: Fix toctree consistency issues (#12090)
This PR addresses two issues reported by Sphinx. First, the
`docs/api/python/base/modes.rst` document was not included in any
toctree. Second, the `proofrule.rst` and `cvc5proofrule.rst` documents
were included in multiple toctrees. The latter is resolved by including
each document in only one toctree and referencing it elsewhere in the
documentation using cross-references.
2025-08-23 22:10:09 +00:00
Daniel Larraz
5b85cad4ee doc: Add missing references to c examples (#12089)
This PR also adds a `:skip:` directive to suppress missing-example
warnings for languages without an equivalent version.
2025-08-23 22:09:10 +00:00
Daniel Larraz
651f196032 ci: Treat all Doxygen warnings as errors (#12068)
This PR increases the quality requirements for the cvc5 C++ API
documentation by treating all warnings reported by Doxygen 1.9.8 as
errors.
2025-08-23 22:01:43 +00:00
Aina Niemetz
e900af3059 docs: Add docs for OptionCategory. (#12016) 2025-07-03 22:23:04 +00:00
Aina Niemetz
0647c4c107 Update copyright headers. (#11561)
Co-authored-by: Daniel Larraz <daniel-larraz@users.noreply.github.com>
2025-01-23 17:54:20 +00:00
Aina Niemetz
dab8236589 docs: python: Add missing docs text for pages. (#11057) 2024-08-05 18:47:34 +00:00
Aina Niemetz
1b9eab5c0e docs: Restructure and extend proofs docs. (#11045) 2024-07-16 23:07:30 +00:00
Aina Niemetz
cb103e26c3 docs: python base: Add docs for TermManager and SortKind. (#11056) 2024-07-16 22:39:37 +00:00
Aina Niemetz
f0ec5475cb docs: cpp api: Add basic docs for plugin. (#11043) 2024-07-16 21:43:47 +00:00
Aina Niemetz
5788258717 docs: Add docs for C API. (#11044) 2024-07-16 18:50:32 +00:00
Aina Niemetz
e46eacda1f docs: cpp: Restructure directory, tweak class hierarchy. (#11040) 2024-07-12 18:05:13 +00:00
Aina Niemetz
55b0458eac docs: cpp: Add missing entries and some fixes. (#11035) 2024-07-12 16:17:06 +00:00
Aina Niemetz
441ef12d70 docs: Fixes in API documentation. (#11034) 2024-07-12 16:16:47 +00:00
Aina Niemetz
b9b4e1b9da c++ API: Refactor statistics handling. (#10530)
This moves term statistics collection from Solver to TermManager.
TermManager and Solver now both provide `getStatistics()`, the former
captures API level term statistics, the latter internal solver
statistics.

This also adds iterator capabilities to the Python Statistics class.
2024-04-01 21:12:16 +00:00
Andrew Reynolds
2cf2797d4a Add getter methods for skolems in API (#10393)
This exports SkolemFunId to the API, and adds it to the Java, Python APIs, and adds unit tests.

It does some minor refactoring to remove unnecessary ids and to move abstract value to an internal skolem id.

Followup PRs will add methods for constructing/parsing skolems. I will also rename SkolemFunId -> SkolemId throughout the code base after this PR is merged.
2024-03-22 21:45:36 +00:00
Aina Niemetz
58d7c6d556 c++ api: Expose TermManager to the API. (#10426)
This introduces a TermManager object, which will, in the future, be the
sole object responsible for handling/managing terms and sorts. For now,
all corresponding functions in `cvc5::Solver` are marked as deprecated,
as is constructor `cvc5::Solver::Solver()`, since in the future a solver
instance must be constructed from a term manager instance. Currently, we
maintain a static thread_local term manager instance to not break the
API and continue providing constructor `cvc5::Solver::Solver()`.

Note that this already converts all C++ unit tests to use the
TermManager except for a single test `getStatistics()` in
`test/unit/api/cpp/solver_black.cpp`. Statistics handling is currently
still maintained on the solver level. The statistics we maintain,
however, concern terms only and will eventually be refactored to be
tracked in the NodeManager.

Further note that the Java and Python APIs will be refactored in
separate PRs.
2024-03-08 19:39:13 +00:00
mudathirmahgoub
115d3d200b Add parser to the java api (#10088) 2023-11-28 11:53:30 -06:00
Hans-Jörg
0a35879fc1 Make Proof Rule enum a part of the API (#9925)
This pull requests makes the enum that lists all proof rules a part of the API.

It also renames the enum from PfRule to ProofRule. It also renames some unrelated types and function names that share the PfRule name (such as DslPfRule).
This rename unfortunately touches many files since PfRule is not an uncommon type. (second to last commit)
2023-09-27 00:58:03 +00:00
Aina Niemetz
809d78117c docs: Refactor and extend C++ documentation. (#10006) 2023-09-11 16:31:57 +00:00
Aina Niemetz
ea5b14f533 docs: Fix Doxygen configuration for enum class documentation. (#10004) 2023-09-06 13:50:07 -05:00
Mathias Preiner
56e14c4639 Move public headers into top-level include directory. (#9555)
This PR moves the public API headers into a top-level include directory. This makes it easier to find the public API of cvc5 and makes the install headers script obsolete.

Fixes #9553
Fixes #9556
2023-03-07 23:39:29 +00:00
Aina Niemetz
9c176f263b docs: Do not use explicit line numbers in literalinclude. (#8690) 2022-05-02 20:13:00 +00:00
Aina Niemetz
ece1a2253e api: More fixes in C++ API docs. (#8570) 2022-04-05 03:08:05 +00:00
Gereon Kremer
f65550a404 Follow renaming within pythonic API (#8532)
We are renaming files in the pythonic API to make it look less like it is somehow part of z3 (but still acknowledge that we took code from z3Py properly). This PR follows the change in cvc5/cvc5_pythonic_api#80.
2022-04-02 18:31:32 +00:00
Mathias Preiner
5982baed87 docs: Document UnknownExplanation. (#8508) 2022-04-01 22:53:53 +00:00