diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-09 14:32:32 -0600 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2019-12-09 12:32:32 -0800 |
commit | 33c5eb093a7f032a7d9c9263da595eb53fdd223b (patch) | |
tree | a08a2ab95bb8e09b6be768b18b99346c48488dec /src/theory/rep_set.h | |
parent | b6ce0f23ce0aaa0552767e8067fe58dbceee11cb (diff) |
Fix case of uninterpreted constant instantiation in FMF (#3543)
Fixes #3537.
This benchmark triggers a potential unsoundness caused by instantiating with an uninterpreted constant (which is unsound).
Diffstat (limited to 'src/theory/rep_set.h')
-rw-r--r-- | src/theory/rep_set.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/theory/rep_set.h b/src/theory/rep_set.h index 2ae5e1c4b..58f449202 100644 --- a/src/theory/rep_set.h +++ b/src/theory/rep_set.h @@ -175,8 +175,14 @@ public: bool isFinished() const; /** get domain size of the i^th field of this iterator */ unsigned domainSize(unsigned i); - /** get the i^th term in the tuple we are considering */ - Node getCurrentTerm(unsigned v, bool valTerm = false) const; + /** Get the type of terms in the i^th field of this iterator */ + TypeNode getTypeOf(unsigned i) const; + /** + * Get the value for the i^th field in the tuple we are currently considering. + * If valTerm is true, we return a term instead of a value by calling + * RepSet::getTermForRepresentative on the value. + */ + Node getCurrentTerm(unsigned i, bool valTerm = false) const; /** get the number of terms in the tuple we are considering */ unsigned getNumTerms() const { return d_index_order.size(); } /** get current terms */ |