diff options
author | mudathirmahgoub <mudathirmahgoub@gmail.com> | 2021-01-08 10:07:50 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-08 10:07:50 -0600 |
commit | 63d27f031f8942607d869080d0e2cfb6078d40b1 (patch) | |
tree | 0a29a6479a38d700a824951e343334c5d02d0183 /src/theory/bags/solver_state.h | |
parent | 819eedc38031d3befb9c3e855bbbfa0afa3bb3cc (diff) |
Add bags inference generator (#5731)
This PR adds inference generator for basic bag rules.
Diffstat (limited to 'src/theory/bags/solver_state.h')
-rw-r--r-- | src/theory/bags/solver_state.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/theory/bags/solver_state.h b/src/theory/bags/solver_state.h index 9a4bfdae7..8d70ee8f7 100644 --- a/src/theory/bags/solver_state.h +++ b/src/theory/bags/solver_state.h @@ -31,10 +31,24 @@ class SolverState : public TheoryState public: SolverState(context::Context* c, context::UserContext* u, Valuation val); + void registerClass(TNode n); + + Node registerBagElement(TNode n); + + std::set<Node>& getBags(); + + std::set<Node>& getElements(TypeNode t); + + std::map<Node, Node>& getBagElements(Node B); + private: /** constants */ Node d_true; Node d_false; + std::set<Node> d_bags; + std::map<TypeNode, std::set<Node>> d_elements; + /** bag -> element -> multiplicity */ + std::map<Node, std::map<Node, Node>> d_count; }; /* class SolverState */ } // namespace bags |