summaryrefslogtreecommitdiff
path: root/src/theory/arith/partial_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/arith/partial_model.h')
-rw-r--r--src/theory/arith/partial_model.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/theory/arith/partial_model.h b/src/theory/arith/partial_model.h
index 0351abf9d..44631fdef 100644
--- a/src/theory/arith/partial_model.h
+++ b/src/theory/arith/partial_model.h
@@ -107,6 +107,9 @@ typedef expr::CDAttribute<UpperConstraintAttrID,TNode> UpperConstraint;
struct TheoryArithPropagatedID {};
typedef expr::CDAttribute<TheoryArithPropagatedID, bool> TheoryArithPropagated;
+struct HasHadABoundID {};
+typedef expr::Attribute<HasHadABoundID, bool> HasHadABound;
+
}; /*namespace partial_model*/
@@ -152,11 +155,14 @@ public:
+
void setUpperBound(TNode x, const DeltaRational& r);
void setLowerBound(TNode x, const DeltaRational& r);
/* Sets an unsafe variable assignment */
void setAssignment(TNode x, const DeltaRational& r);
+ void setAssignment(TNode x, const DeltaRational& safe, const DeltaRational& r);
+
/** Must know that the bound exists before calling this! */
DeltaRational getUpperBound(TNode x) const;
@@ -182,6 +188,11 @@ public:
void printModel(TNode x);
+ bool hasBounds(TNode x);
+ bool hasEverHadABound(TNode var){
+ return var.getAttribute(partial_model::HasHadABound());
+ }
+
private:
/**
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback