Add the LazyTreeProofGenerator. (#5948)
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>
Mon, 22 Feb 2021 17:37:47 +0000 (18:37 +0100)
committerGitHub <noreply@github.com>
Mon, 22 Feb 2021 17:37:47 +0000 (11:37 -0600)
commit1700089e7ba96a883836eddcf2a8b88824aaa3e6
tree9d173d5da726e2fa9f4655a8cbfb1cd335540bd2
parent20b0feaf3f9858a1414f5d1eef9819913aae3ded
Add the LazyTreeProofGenerator. (#5948)

This PR adds a new proof utility to construct tree-shaped proofs in a lazy fashion.
The LazyTreeProofGenerator is currently intended to be used for CAD proofs, where we need to construct proofs that consist of nested case-splits, but the exact split (in a form suitable for proof construction) is only known when the whole subtree is finished.
We thus store the proof in a tree structure similar to proof nodes, and transform the whole proof to a proper proof node once all data is available.
src/CMakeLists.txt
src/theory/lazy_tree_proof_generator.cpp [new file with mode: 0644]
src/theory/lazy_tree_proof_generator.h [new file with mode: 0644]