summaryrefslogtreecommitdiff
path: root/src/expr/proof_node_algorithm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/proof_node_algorithm.h')
-rw-r--r--src/expr/proof_node_algorithm.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/expr/proof_node_algorithm.h b/src/expr/proof_node_algorithm.h
index bc44d7314..d6bd1963c 100644
--- a/src/expr/proof_node_algorithm.h
+++ b/src/expr/proof_node_algorithm.h
@@ -5,7 +5,7 @@
** Andrew Reynolds
** This file is part of the CVC4 project.
** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS
- ** in the top-level source directory) and their institutional affiliations.
+ ** in the top-level source directory and their institutional affiliations.
** All rights reserved. See the file COPYING in the top-level source
** directory for licensing information.\endverbatim
**
@@ -49,8 +49,23 @@ void getFreeAssumptions(ProofNode* pn, std::vector<Node>& assump);
* @param amap The mapping to add the free asumptions of pn and their
* corresponding proof nodes to.
*/
-void getFreeAssumptionsMap(ProofNode* pn,
- std::map<Node, std::vector<ProofNode*>>& amap);
+void getFreeAssumptionsMap(
+ std::shared_ptr<ProofNode> pn,
+ std::map<Node, std::vector<std::shared_ptr<ProofNode>>>& amap);
+
+/**
+ * @return true if pn contains pnc.
+ */
+bool containsSubproof(ProofNode* pn, ProofNode* pnc);
+
+/**
+ * Same as above, with a visited cache.
+ *
+ * @return true if pn contains pnc.
+ */
+bool containsSubproof(ProofNode* pn,
+ ProofNode* pnc,
+ std::unordered_set<const ProofNode*>& visited);
} // namespace expr
} // namespace CVC4
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback