Fixes #4476.
Node ExtendedRewriter::extendedRewritePullIte(Kind itek, Node n)
{
Assert(n.getKind() != ITE);
+ if (n.isClosure())
+ {
+ // don't pull ITE out of quantifiers
+ return n;
+ }
NodeManager* nm = NodeManager::currentNM();
TypeNode tn = n.getType();
std::vector<Node> children;
regress0/quantifiers/issue3655.smt2
regress0/quantifiers/issue4086-infs.smt2
regress0/quantifiers/issue4275-qcf-cegqi-rep.smt2
+ regress0/quantifiers/issue4476-ext-rew.smt2
regress0/quantifiers/lra-triv-gn.smt2
regress0/quantifiers/macros-int-real.smt2
regress0/quantifiers/macros-real-arg.smt2
--- /dev/null
+(set-logic NRA)
+(set-info :status sat)
+(set-option :ext-rewrite-quant true)
+(assert (exists ((a Real) (b Real)) (forall ((c Real)) (= (/ b (/ 1 c)) 0))))
+(check-sat)