summaryrefslogtreecommitdiff
path: root/src/theory/sets/cardinality_extension.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-09-08 20:36:08 -0500
committerGitHub <noreply@github.com>2020-09-08 20:36:08 -0500
commit1d3bb6048085342e2d85bf5193367afcd96885fa (patch)
treeb09c504cf13862f6286133130063bcfb57050556 /src/theory/sets/cardinality_extension.h
parent2786ba1efc7d420b5eda5389edffe72b676de32b (diff)
Split term registry from theory state in sets (#5037)
Currently, the theory state object SolverState in sets sends lemmas and has a reference to the parent theory. This PR is work towards eliminating these dependencies. This adds a TermRegistry object which is responsible for some of the tasks currently done by SolverState, including all those involving lemmas. Notice this also makes a bug fix in getUnivSetEqClass where the universe set was being returned instead of its representative. A followup PR will make SolverState maintain SAT-context-dependent membership lists which is also required for breaking the dependence on the parent theory.
Diffstat (limited to 'src/theory/sets/cardinality_extension.h')
-rw-r--r--src/theory/sets/cardinality_extension.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/theory/sets/cardinality_extension.h b/src/theory/sets/cardinality_extension.h
index c257f45c5..38f259919 100644
--- a/src/theory/sets/cardinality_extension.h
+++ b/src/theory/sets/cardinality_extension.h
@@ -21,6 +21,7 @@
#include "context/context.h"
#include "theory/sets/inference_manager.h"
#include "theory/sets/solver_state.h"
+#include "theory/sets/term_registry.h"
#include "theory/type_set.h"
#include "theory/uf/equality_engine.h"
@@ -67,7 +68,9 @@ class CardinalityExtension
* Constructs a new instance of the cardinality solver w.r.t. the provided
* contexts.
*/
- CardinalityExtension(SolverState& s, InferenceManager& im);
+ CardinalityExtension(SolverState& s,
+ InferenceManager& im,
+ TermRegistry& treg);
~CardinalityExtension() {}
/** reset
@@ -160,6 +163,8 @@ class CardinalityExtension
SolverState& d_state;
/** Reference to the inference manager for the theory of sets */
InferenceManager& d_im;
+ /** Reference to the term registry */
+ TermRegistry& d_treg;
/** register cardinality term
*
* This method add lemmas corresponding to the definition of
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback