diff --git a/src/rewriter/basic_rewrite_rcons.cpp b/src/rewriter/basic_rewrite_rcons.cpp index 9c5e63581e8..9c37dc64635 100644 --- a/src/rewriter/basic_rewrite_rcons.cpp +++ b/src/rewriter/basic_rewrite_rcons.cpp @@ -1597,16 +1597,33 @@ bool BasicRewriteRCons::ensureProofMacroLambdaAppElimShadow(CDProof* cdp, "MacroLambdaAppElimShadow", nullptr, true); - for (const Node& mc : matchConds) + size_t i=0; + while (i pfn = tcpg.getProofForRewriting(eq[0]); Node res = pfn->getResult(); diff --git a/test/regress/cli/regress0/proofs/dd_int_check_rec_elim_shadow.smt2 b/test/regress/cli/regress0/proofs/dd_int_check_rec_elim_shadow.smt2 new file mode 100644 index 00000000000..2f3069aca19 --- /dev/null +++ b/test/regress/cli/regress0/proofs/dd_int_check_rec_elim_shadow.smt2 @@ -0,0 +1,8 @@ +; EXPECT: unsat +(set-logic ALL) +(declare-fun p (Int) Int) +(define-fun i ((k Int) (a Int)) Int (p 0)) +(define-fun l ((k Int) (x Int) (s Int) (t Int)) Bool (= 0 (i k x))) +(define-fun n ((k Int) (t Int) (x Int)) Bool (and false (l 0 0 0 0))) +(assert (n 0 0 0)) +(check-sat)