summaryrefslogtreecommitdiff
path: root/src/expr
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-08-03 15:34:17 -0500
committerGitHub <noreply@github.com>2018-08-03 15:34:17 -0500
commit053ee7b8058eccb84b909920ff92975faeda996c (patch)
treef2374e80abd943bb1188223e18254cf04c0c21de /src/expr
parentb249f10578a078e032ed21bc7a3812b70d200c4d (diff)
Eliminate option for sygus UF evaluation functions (#2262)
Diffstat (limited to 'src/expr')
-rw-r--r--src/expr/datatype.cpp21
-rw-r--r--src/expr/datatype.h13
2 files changed, 0 insertions, 34 deletions
diff --git a/src/expr/datatype.cpp b/src/expr/datatype.cpp
index 8747c530e..ae61d5f33 100644
--- a/src/expr/datatype.cpp
+++ b/src/expr/datatype.cpp
@@ -154,23 +154,6 @@ void Datatype::resolve(ExprManager* em,
}
d_record = new Record(fields);
}
-
- //make the sygus evaluation function
- if( isSygus() ){
- PrettyCheckArgument(d_params.empty(), this, "sygus types cannot be parametric");
- NodeManager* nm = NodeManager::fromExprManager(em);
- std::string name = "eval_" + getName();
- std::vector<TypeNode> evalType;
- evalType.push_back(TypeNode::fromType(d_self));
- if( !d_sygus_bvl.isNull() ){
- for(size_t j = 0; j < d_sygus_bvl.getNumChildren(); ++j) {
- evalType.push_back(TypeNode::fromType(d_sygus_bvl[j].getType()));
- }
- }
- evalType.push_back(TypeNode::fromType(d_sygus_type));
- TypeNode eval_func_type = nm->mkFunctionType(evalType);
- d_sygus_eval = nm->mkSkolem(name, eval_func_type, "sygus evaluation function").toExpr();
- }
}
void Datatype::addConstructor(const DatatypeConstructor& c) {
@@ -683,10 +666,6 @@ bool Datatype::getSygusAllowAll() const {
return d_sygus_allow_all;
}
-Expr Datatype::getSygusEvaluationFunc() const {
- return d_sygus_eval;
-}
-
bool Datatype::involvesExternalType() const{
return d_involvesExt;
}
diff --git a/src/expr/datatype.h b/src/expr/datatype.h
index c2cf80158..a3519f405 100644
--- a/src/expr/datatype.h
+++ b/src/expr/datatype.h
@@ -920,17 +920,6 @@ public:
* to setSygus).
*/
bool getSygusAllowAll() const;
- /** get sygus evaluation function
- *
- * This gets the evaluation function for this datatype
- * for the deep embedding. This is a function of type:
- * D x T1 x ... x Tn -> T
- * where:
- * D is the datatype type for this datatype,
- * T1...Tn are the types of the variables in getSygusVarList(),
- * T is getSygusType().
- */
- Expr getSygusEvaluationFunc() const;
/** involves external type
* Get whether this datatype has a subfield
@@ -979,8 +968,6 @@ public:
bool d_sygus_allow_const;
/** whether all terms are allowed as solutions */
bool d_sygus_allow_all;
- /** the evaluation function for this sygus datatype */
- Expr d_sygus_eval;
/** the cardinality of this datatype
* "mutable" because computing the cardinality can be expensive,
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback