NodeManager::currentNM()->mkConst(result));
}
const Datatype& dt = static_cast<DatatypeType>(in[0].getType().toType()).getDatatype();
- if (dt.getNumConstructors() == 1)
+ if (dt.getNumConstructors() == 1 && !dt.isSygus())
{
// only one constructor, so it must be
Trace("datatypes-rewrite")
regress2/sygus/inv_gen_n_c11.sy
regress2/sygus/lustre-real.sy
regress2/sygus/max2-univ.sy
+ regress2/sygus/min_IC_1.sy
regress2/sygus/mpg_guard1-dd.sy
regress2/sygus/multi-udiv.sy
regress2/sygus/nia-max-square.sy
--- /dev/null
+; REQUIRES: symfpu
+; EXPECT: unsat
+; COMMAND-LINE: --sygus-out=status
+(set-logic ALL)
+(define-sort FP () (_ FloatingPoint 3 5))
+(define-fun IC ((t FP)) Bool (=> (fp.isInfinite t) (fp.isNegative t)))
+
+(synth-fun simpIC ((t FP)) Bool
+ ((Start Bool (
+ (and Start Start)
+ (not Start)
+
+ (fp.isInfinite StartFP)
+ (fp.isNegative StartFP)
+
+ (ite Start Start Start)
+ ))
+ (StartFP FP (
+ t
+ ))
+))
+
+(declare-var x FP)
+(constraint (= (simpIC x) (IC x)))
+(check-synth)