diff options
author | Tim King <taking@cs.nyu.edu> | 2011-11-29 21:11:45 +0000 |
---|---|---|
committer | Tim King <taking@cs.nyu.edu> | 2011-11-29 21:11:45 +0000 |
commit | e9198d9b99c6037165362870436b45826674303f (patch) | |
tree | b5e8d01a53d38d353dae7c16351ff9206e1f96c6 /src/theory/arith/theory_arith.h | |
parent | 8b202bab8442c927e9ac18a35c71a82444acf63b (diff) |
Merging the branch branches/arithmetic/shared-terms into trunk. Arithmetic now supports propagating equalities when a slack variable corresponding to a difference of shared terms must be 0. Similarly disequalities are propagated when these variables cannot be zero.
Diffstat (limited to 'src/theory/arith/theory_arith.h')
-rw-r--r-- | src/theory/arith/theory_arith.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/theory/arith/theory_arith.h b/src/theory/arith/theory_arith.h index e8d920084..6255efbbc 100644 --- a/src/theory/arith/theory_arith.h +++ b/src/theory/arith/theory_arith.h @@ -39,6 +39,7 @@ #include "theory/arith/arith_prop_manager.h" #include "theory/arith/arithvar_node_map.h" #include "theory/arith/dio_solver.h" +#include "theory/arith/difference_manager.h" #include "util/stats.h" @@ -196,9 +197,11 @@ private: /** This manager keeps track of information needed to propagate. */ ArithPropManager d_propManager; + /** This keeps track of difference equalities. Mostly for sharing. */ + DifferenceManager d_differenceManager; + /** This implements the Simplex decision procedure. */ SimplexDecisionProcedure d_simplex; - public: TheoryArith(context::Context* c, context::UserContext* u, OutputChannel& out, Valuation valuation); virtual ~TheoryArith(); @@ -228,6 +231,8 @@ public: EqualityStatus getEqualityStatus(TNode a, TNode b); + void addSharedTerm(TNode n); + private: /** The constant zero. */ DeltaRational d_DELTA_ZERO; @@ -329,6 +334,8 @@ private: IntStat d_permanentlyRemovedVariables; TimerStat d_presolveTime; + IntStat d_externalBranchAndBounds; + IntStat d_initialTableauSize; IntStat d_currSetToSmaller; IntStat d_smallerSetToCurr; |