diff options
author | lianah <lianahady@gmail.com> | 2013-03-16 15:48:51 -0400 |
---|---|---|
committer | lianah <lianahady@gmail.com> | 2013-03-16 15:48:51 -0400 |
commit | 25ac2c8f4b45e2b299895e97a30790fbf46cf79f (patch) | |
tree | d7b52003d7157073be554bd9818230f1c3b439d3 /src/theory/bv/bv_inequality_graph.h | |
parent | 3fcdb18fe92e5213aa708285c0d7d5e55633492b (diff) |
started work on the inequality bv subtheory
Diffstat (limited to 'src/theory/bv/bv_inequality_graph.h')
-rw-r--r-- | src/theory/bv/bv_inequality_graph.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/theory/bv/bv_inequality_graph.h b/src/theory/bv/bv_inequality_graph.h new file mode 100644 index 000000000..2ac22bb5b --- /dev/null +++ b/src/theory/bv/bv_inequality_graph.h @@ -0,0 +1,54 @@ +/********************* */ +/*! \file bv_inequality_graph.h + ** \verbatim + ** Original author: lianah + ** Major contributors: none + ** Minor contributors (to current version): none + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009-2012 New York University and The University of Iowa + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief Algebraic solver. + ** + ** Algebraic solver. + **/ + +#include "cvc4_private.h" + +#ifndef __CVC4__THEORY__BV__BV_INEQUALITY__GRAPH_H +#define __CVC4__THEORY__BV__BV_INEQUALITY__GRAPH_H + +#include "context/context.h" +#include "context/cdqueue.h" +#include "theory/uf/equality_engine.h" +#include "theory/theory.h" + +namespace CVC4 { +namespace theory { + + +namespace bv { + +typedef unsigned TermId; +typedef unsigned ReasonId; + +class InequalityGraph { + context::Context d_context; + +public: + + InequalityGraph(context::Context* c) + : d_context(c) + {} + bool addInequality(TermId a, TermId b, ReasonId reason); + bool propagate(); + bool areLessThan(TermId a, TermId b); + void getConflict(std::vector<ReasonId>& conflict); +}; + +} +} +} + +#endif /* __CVC4__THEORY__BV__BV_INEQUALITY__GRAPH_H */ |