summaryrefslogtreecommitdiff
path: root/src/expr/proof_node_manager.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-09-30 08:20:03 -0500
committerGitHub <noreply@github.com>2020-09-30 08:20:03 -0500
commit0cf0dc3b3661e668f8c03113faad5078d91cea98 (patch)
tree78bd8ec763638e662d1f945d82f26607d2472793 /src/expr/proof_node_manager.h
parentf51491e43e86abb862ea081568b8aa106293d64a (diff)
(proof-new) Add the term conversion sequence generator (#5097)
This class will be used in the theory preprocessor and is planned to be used in other preprocessing passes that can be understood as sequences of rewrite systems.
Diffstat (limited to 'src/expr/proof_node_manager.h')
-rw-r--r--src/expr/proof_node_manager.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/expr/proof_node_manager.h b/src/expr/proof_node_manager.h
index 47fdf3ebd..7d7993146 100644
--- a/src/expr/proof_node_manager.h
+++ b/src/expr/proof_node_manager.h
@@ -81,6 +81,15 @@ class ProofNodeManager
*/
std::shared_ptr<ProofNode> mkAssume(Node fact);
/**
+ * Make transitivity proof, where children contains one or more proofs of
+ * equalities that form an ordered chain. In other words, the vector children
+ * is a legal set of children for an application of TRANS.
+ */
+ std::shared_ptr<ProofNode> mkTrans(
+ const std::vector<std::shared_ptr<ProofNode>>& children,
+ Node expected = Node::null());
+
+ /**
* Make scope having body pf and arguments (assumptions-to-close) assumps.
* If ensureClosed is true, then this method throws an assertion failure if
* the returned proof is not closed. This is the case if a free assumption
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback