Fixes #7430.
std::pair<int64_t, uint64_t> getReal64Value() const;
/**
* @return true if the term is a rational value.
+ *
+ * Note that a term of kind PI is not considered to be a real value.
*/
bool isRealValue() const;
/**
/**
* @return true if the term is a set value.
+ *
+ * A term is a set value if it is considered to be a (canonical) constant set
+ * value. A canonical set value is one whose AST is:
+ * ```
+ * (union (singleton c1) ... (union (singleton c_{n-1}) (singleton c_n))))
+ * ```
+ * where `c1 ... cn` are values ordered by id such that `c1 > ... > cn` (see
+ * also @ref Term::operator>(const Term&) const).
+ *
+ * Note that a universe set term (kind UNIVERSE_SET) is not considered to be
+ * a set value.
*/
bool isSetValue() const;
/**
/**
* Pi constant.
*
+ * Note that PI is considered a special symbol of sort Real, but is not
+ * a real value, i.e., `Term::isRealValue() const` will return false.
+ *
* Create with:
* - `Solver::mkPi() const`
* - `Solver::mkTerm(Kind kind) const`
* Finite universe set.
* All set variables must be interpreted as subsets of it.
*
+ * Note that UNIVERSE_SET is considered a special symbol of the theory of
+ * sets and is not considered as a set value,
+ * i.e., `Term::isSetValue() const` will return false.
+ *
* Create with:
* - `Solver::mkUniverseSet(const Sort& sort) const`
*/
}
/**
- * Returns true if n is considered a to be a (canonical) constant set value.
+ * Returns true if n is considered to be a (canonical) constant set value.
* A canonical set value is one whose AST is:
* (union (singleton c1) ... (union (singleton c_{n-1}) (singleton c_n))))
* where c1 ... cn are constants and the node identifier of these constants