This PR initializes some documentation for our proofs. It adds some almost empty files and makes sure that we can show documentation for the PfRule enum.
set(DOXYGEN_INPUT_DIR ${PROJECT_SOURCE_DIR}/src/api/cpp)
set(DOXYGEN_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doxygen)
set(DOXYGEN_INPUT
- "${DOXYGEN_INPUT_DIR}/cvc5.h ${DOXYGEN_INPUT_DIR}/cvc5_kind.h"
+ "${DOXYGEN_INPUT_DIR}/cvc5.h ${DOXYGEN_INPUT_DIR}/cvc5_kind.h ${PROJECT_SOURCE_DIR}/src/proof/proof_rule.h"
)
set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/xml/index.xml)
installation/installation
binary/binary
api/api
+ proofs/proofs
examples/examples
theories/theories
references
--- /dev/null
+Proof format: Alethe
+====================
+
+Using the flag :ref:`--proof-format-mode=alethe <lbl-option-proof-format-mode>`, cvc5 can output proofs in the `Alethe proof format <https://verit.loria.fr/documentation/alethe-spec.pdf>`_.
+
+Additonally, the following flags should be used to produce proofs without term sharing (which is not supported for the Alethe backend yet): :ref:`--simplification=none <lbl-option-simplification>` :ref:`--dag-thresh=0 <lbl-option-dag-thresh>`.
+
+Currently, only the theory of equality with uninterpreted functions, parts of the theory of arithmetic and parts of the theory of quantifiers are supported.
--- /dev/null
+Proof format: Lean
+==================
\ No newline at end of file
--- /dev/null
+Proof format: LSFC
+==================
\ No newline at end of file
--- /dev/null
+Proof rules
+===========
+
+.. doxygenenum:: cvc5::PfRule
+ :project: cvc5
--- /dev/null
+Proof generation
+================
+
+cvc5 can generate formal proofs and output it in the following formats:
+
+.. toctree::
+ :maxdepth: 1
+
+ Alethe <output_alethe>
+ Lean <output_lean>
+ LSFC <output_lsfc>
+
+
+some other stuff: :doc:`proof rules <proof_rules>`.
\ No newline at end of file