Fixes #4328.
Notice() << "Enabling UF because bvAbstraction requires it." << std::endl;
needsUf = true;
}
+ else if (options::preSkolemQuantNested()
+ && options::preSkolemQuantNested.wasSetByUser())
+ {
+ // if pre-skolem nested is explictly set, then we require UF. If it is
+ // not explicitly set, it is disabled below if UF is not present.
+ Notice() << "Enabling UF because preSkolemQuantNested requires it."
+ << std::endl;
+ needsUf = true;
+ }
if (needsUf
// Arrays, datatypes and sets permit Boolean terms and thus require UF
|| logic.isTheoryEnabled(THEORY_ARRAYS)
regress1/quantifiers/issue4062-cegqi-aux.smt2
regress1/quantifiers/issue4243-prereg-inc.smt2
regress1/quantifiers/issue4290-cegqi-r.smt2
+ regress1/quantifiers/issue4328-nqe.smt2
regress1/quantifiers/issue4433-nqe.smt2
regress1/quantifiers/issue4620-erq-witness-unsound.smt2
regress1/quantifiers/issue4685-wrewrite.smt2
--- /dev/null
+(set-logic BV)
+(set-info :status sat)
+(set-option :finite-model-find true)
+(set-option :pre-skolem-quant-nested true)
+(set-option :cegqi-nested-qe true)
+(assert (forall ((a (_ BitVec 32))) (exists ((b (_ BitVec 32))) (bvsle a b))))
+(check-sat)