diff options
-rw-r--r-- | src/theory/quantifiers/single_inv_partition.cpp | 4 | ||||
-rw-r--r-- | test/regress/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/regress/regress1/sygus/issue3635.smt2 | 7 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/theory/quantifiers/single_inv_partition.cpp b/src/theory/quantifiers/single_inv_partition.cpp index c713ec1dd..6c7a06ebe 100644 --- a/src/theory/quantifiers/single_inv_partition.cpp +++ b/src/theory/quantifiers/single_inv_partition.cpp @@ -513,8 +513,8 @@ bool SingleInvocationPartition::isAntiSkolemizableType(Node f) { TypeNode tn = f.getType(); bool ret = false; - if (tn.getNumChildren() == d_arg_types.size() + 1 - || (d_arg_types.empty() && tn.getNumChildren() == 0)) + if (((tn.isFunction() && tn.getNumChildren() == d_arg_types.size() + 1) + || (d_arg_types.empty() && tn.getNumChildren() == 0))) { ret = true; std::vector<Node> children; diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 8212c21f1..5020fe6fd 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -1785,6 +1785,7 @@ set(regress_1_tests regress1/sygus/issue3507.smt2 regress1/sygus/issue3580.sy regress1/sygus/issue3634.smt2 + regress1/sygus/issue3635.smt2 regress1/sygus/large-const-simp.sy regress1/sygus/let-bug-simp.sy regress1/sygus/list-head-x.sy diff --git a/test/regress/regress1/sygus/issue3635.smt2 b/test/regress/regress1/sygus/issue3635.smt2 new file mode 100644 index 000000000..23f9d3ebd --- /dev/null +++ b/test/regress/regress1/sygus/issue3635.smt2 @@ -0,0 +1,7 @@ +; EXPECT: sat +; COMMAND-LINE: --sygus-inference +(set-logic ALL) +(declare-fun a () (Array Int Int)) +(declare-fun b () (Array Int Int)) +(assert (= a b)) +(check-sat) |