Do not use extended rewrites on recursive function definitions (#7549)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sat, 6 Nov 2021 01:26:33 +0000 (20:26 -0500)
committerGitHub <noreply@github.com>
Sat, 6 Nov 2021 01:26:33 +0000 (01:26 +0000)
commitd93e02dc254fea6c9d56194f21649cc18f29aafe
treee21dd0bafa7c8f843a224e03361f2119de5d55da
parent733ab2f6b9430b2ae5824e2614de5811a60033f3
Do not use extended rewrites on recursive function definitions (#7549)

Leads to potential non-idempotent behavior in the rewriter.

The issue cannot be replicated on master, but this safe guards this case anyways.

Fixes #5278.
src/theory/quantifiers/quantifiers_rewriter.cpp
src/theory/quantifiers/quantifiers_rewriter.h
test/regress/CMakeLists.txt
test/regress/regress1/quantifiers/issue5278-ext-rewrite-rec.smt2 [new file with mode: 0644]