24 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
Aina Niemetz
e900af3059 docs: Add docs for OptionCategory. (#12016) 2025-07-03 22:23:04 +00:00
Aina Niemetz
1b9eab5c0e docs: Restructure and extend proofs docs. (#11045) 2024-07-16 23:07:30 +00:00
Aina Niemetz
f0ec5475cb docs: cpp api: Add basic docs for plugin. (#11043) 2024-07-16 21:43:47 +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
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
Aina Niemetz
809d78117c docs: Refactor and extend C++ documentation. (#10006) 2023-09-11 16:31:57 +00:00
Mathias Preiner
5982baed87 docs: Document UnknownExplanation. (#8508) 2022-04-01 22:53:53 +00:00
Mathias Preiner
0a531a383e docs: Add documentation for modes. (#8509) 2022-04-01 06:09:38 +00:00
Gereon Kremer
078ea64696 Improve documentation for OptionInfo (#8474)
This PR improves the documentation for OptionInfo and adds documentation for the DriverOptions class.
2022-03-31 04:40:10 +00:00
Mathias Preiner
f66e2adea0 docs: Remove api namespace. (#8455) 2022-03-31 02:30:21 +00:00
Andrew Reynolds
ba24986fe2 Add SynthResult to the API (#8370)
Does not modify the code to return a SynthResult yet, just adds the class.

Co-authored-by: Aina Niemetz <aina.niemetz@gmail.com>
2022-03-23 21:56:33 +00:00
Gereon Kremer
881464ade1 Turn kinds in python API into a proper Enum (#7686)
This PR does multiple things:
- the kinds are changed from custom objects to a proper enum.Enum class
  (including according changes to the cython code and the kind generation scripts)
- all examples and tests are modified to account for the change how to use kinds
  (Kind instead of kinds)
- add docstrings to the kind enum values
- add a custom documenter that properly renders enums via autodoc
- extend doxygen setup so that we can write comments as rst (allowing us to copy
  the documentation for kinds from the cpp api to the other apis)
2021-12-08 04:16:03 +00:00
Gereon Kremer
5cfbb67e22 Various minor docs improvements (#7626)
This PR does a number of minor improvements to the docs.
2021-11-12 02:27:53 +00:00
Gereon Kremer
46f5a39730 Remove separate cpp docs for UnknownExplanation (#7516)
This removes the separate documentation for the `UnknownExplanation` enum, as it is already included in the documentation of the `Result` class.
2021-10-28 10:07:59 +00:00
yoni206
538eea94a5 Python api documentation: Op, Grammar, Result, Enums (#7095)
This PR adds documentation to the python class Op, Grammar, Result, and for API enums.
Additionally, documentation for isNull functions in the datatype classes is added for the python API, and a small change in the cpp API documentation is introduced.
2021-10-15 23:09:02 +00:00
Gereon Kremer
af1b397402 Add API function to obtain information about a single option (#6980)
This PR adds api::Solver::getOptionInfo() that returns information about a single option, including its name, aliases, current and default value and its domain.
2021-08-30 23:55:58 +00:00
Aina Niemetz
78a3406dbd docs: Add quickstart guide. (#6782) 2021-06-23 19:08:21 +00:00
Aina Niemetz
f78a273345 docs: Split out and merge C++ class hierarchy. (#6781)
This restructures the entry page for the C++ API documentation in
preparation for adding a quickstart and linking to examples and adding
more content.
2021-06-21 22:46:07 +00:00
Aina Niemetz
cc666c9a93 docs: Restructure index page, fix style issue. (#6657) 2021-06-01 17:05:52 -07:00