diff options
Diffstat (limited to 'src/expr/proof_node_algorithm.h')
-rw-r--r-- | src/expr/proof_node_algorithm.h | 21 |
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 |