summaryrefslogtreecommitdiff
path: root/src/prop/prop_engine.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-10-07 11:49:41 -0500
committerGitHub <noreply@github.com>2021-10-07 16:49:41 +0000
commite9cffe98e1ef34cde01e7778fc2be55839044007 (patch)
tree81589c71b3c6d717ed06259a499ea601db6ec2a2 /src/prop/prop_engine.h
parentbd41ade5f0eee5afe8bc7f6c7c3ca76f1fa296b4 (diff)
Use skolem lemma in prop layer interfaces (#7320)
Diffstat (limited to 'src/prop/prop_engine.h')
-rw-r--r--src/prop/prop_engine.h26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/prop/prop_engine.h b/src/prop/prop_engine.h
index 3556108d1..2f569ba72 100644
--- a/src/prop/prop_engine.h
+++ b/src/prop/prop_engine.h
@@ -25,6 +25,7 @@
#include "proof/trust_node.h"
#include "prop/skolem_def_manager.h"
#include "theory/output_channel.h"
+#include "theory/skolem_lemma.h"
#include "util/result.h"
namespace cvc5 {
@@ -85,14 +86,12 @@ class PropEngine
* ppSkolems respectively.
*
* @param node The assertion to preprocess,
- * @param ppLemmas The lemmas to add to the set of assertions,
- * @param ppSkolems The skolems that newLemmas correspond to,
+ * @param ppLemmas The lemmas to add to the set of assertions, which tracks
+ * their corresponding skolems,
* @return The (REWRITE) trust node corresponding to rewritten node via
* preprocessing.
*/
- TrustNode preprocess(TNode node,
- std::vector<TrustNode>& ppLemmas,
- std::vector<Node>& ppSkolems);
+ TrustNode preprocess(TNode node, std::vector<theory::SkolemLemma>& ppLemmas);
/**
* Remove term ITEs (and more generally, term formulas) from the given node.
* Return the REWRITE trust node corresponding to rewriting node. New lemmas
@@ -101,14 +100,12 @@ class PropEngine
* preprocessing and rewriting.
*
* @param node The assertion to preprocess,
- * @param ppLemmas The lemmas to add to the set of assertions,
- * @param ppSkolems The skolems that newLemmas correspond to,
+ * @param ppLemmas The lemmas to add to the set of assertions, which tracks
+ * their corresponding skolems.
* @return The (REWRITE) trust node corresponding to rewritten node via
* preprocessing.
*/
- TrustNode removeItes(TNode node,
- std::vector<TrustNode>& ppLemmas,
- std::vector<Node>& ppSkolems);
+ TrustNode removeItes(TNode node, std::vector<theory::SkolemLemma>& ppLemmas);
/**
* Converts the given formulas to CNF and assert the CNF to the SAT solver.
@@ -334,13 +331,12 @@ class PropEngine
ProofGenerator* pg = nullptr);
/**
* Assert lemmas internal, where trn is a trust node corresponding to a
- * formula to assert to the CNF stream, ppLemmas and ppSkolems are the
- * skolem definitions and skolems obtained from preprocessing it, and
- * removable is whether the lemma is removable.
+ * formula to assert to the CNF stream, ppLemmas are the skolem definitions
+ * obtained from preprocessing it, and removable is whether the lemma is
+ * removable.
*/
void assertLemmasInternal(TrustNode trn,
- const std::vector<TrustNode>& ppLemmas,
- const std::vector<Node>& ppSkolems,
+ const std::vector<theory::SkolemLemma>& ppLemmas,
bool removable);
/**
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback