{
if (logic.isQuantified() && !usesSygus(opts))
{
+ Trace("smt")
+ << "Disabling shared selectors for quantified logic without SyGuS"
+ << std::endl;
opts.datatypes.dtSharedSelectors = false;
}
}
#include "expr/node_algorithm.h"
#include "options/arith_options.h"
#include "options/base_options.h"
+#include "options/datatypes_options.h"
#include "options/quantifiers_options.h"
#include "smt/smt_statistics_registry.h"
#include "theory/quantifiers/first_order_model.h"
{
d_subOptions.arith.nlExtTangentPlanes = true;
}
+ // we must use the same setting for datatype selectors, since shared selectors
+ // can appear in solutions
+ d_subOptions.datatypes.dtSharedSelectors =
+ options().datatypes.dtSharedSelectors;
+ d_subOptions.datatypes.dtSharedSelectorsWasSetByUser = true;
}
SynthVerify::~SynthVerify() {}
regress1/sygus/issue4009-qep.smt2
regress1/sygus/issue4025-no-rlv-cond.smt2
regress1/sygus/issue4083-var-shadow.smt2
+ regress1/sygus/issue7925-dt-share-config.sy
regress1/sygus/large-const-simp.sy
regress1/sygus/let-bug-simp.sy
regress1/sygus/list-head-x.sy
--- /dev/null
+; COMMAND-LINE:
+; EXPECT: fail
+(set-logic ALL)
+(declare-datatypes ((wrapped_integer 0)) (((constructor (value Int)))))
+(synth-fun f ((input wrapped_integer)) Bool ((bool Bool)) ((bool Bool ( (= (value input) 0)))))
+(declare-var x wrapped_integer)
+(constraint (f x))
+(check-synth)