summaryrefslogtreecommitdiff
path: root/src/theory/arith/theory_arith.cpp
diff options
context:
space:
mode:
authorTim King <taking@cs.nyu.edu>2012-11-12 23:50:29 +0000
committerTim King <taking@cs.nyu.edu>2012-11-12 23:50:29 +0000
commit79b80442e5df070fe838de3fe4c09b235f6bddf5 (patch)
tree7aed459a84a1ab94b7a6e90f2d308cd24488430b /src/theory/arith/theory_arith.cpp
parent8c325a4bf6888e33fb8fdc1e071a8aab4aa20b6f (diff)
Improved error reporting for improperly using non-linear division in linear arithmetic.
Diffstat (limited to 'src/theory/arith/theory_arith.cpp')
-rw-r--r--src/theory/arith/theory_arith.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/theory/arith/theory_arith.cpp b/src/theory/arith/theory_arith.cpp
index e23262137..1d89c02d4 100644
--- a/src/theory/arith/theory_arith.cpp
+++ b/src/theory/arith/theory_arith.cpp
@@ -1134,7 +1134,9 @@ void TheoryArith::preRegisterTerm(TNode n) {
ArithVar TheoryArith::requestArithVar(TNode x, bool slack){
//TODO : The VarList trick is good enough?
Assert(isLeaf(x) || VarList::isMember(x) || x.getKind() == PLUS);
- Assert(!Variable::isDivMember(x) || !getLogicInfo().isLinear());
+ if(getLogicInfo().isLinear() && Variable::isDivMember(x)){
+ throw LogicException("Non-linear term was asserted to arithmetic in a linear logic.");
+ }
Assert(!d_arithvarNodeMap.hasArithVar(x));
Assert(x.getType().isReal());// real or integer
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback