Replace conditional rewrite pass in quantifiers with the extended rewriter (#3841)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sat, 29 Feb 2020 03:43:49 +0000 (21:43 -0600)
committerGitHub <noreply@github.com>
Sat, 29 Feb 2020 03:43:49 +0000 (21:43 -0600)
commit940a25255469bbeea95df14ef25036e6c0565c3e
tree5d00490debcd9c96de307810daf2aa5d8935a233
parenta975f3af51a3730f5b848d2b55f9c6d4027fe763
Replace conditional rewrite pass in quantifiers with the extended rewriter (#3841)

Fixes #3839.

Previously, the quantifiers rewriter had a rewriting step that was an ad-hoc version of some of the rewrites that have been incorporated into the extended rewriter. Moreover, the code for that pass was buggy.

This eliminates the previous conditional rewriting step from the "term process" rewrite pass in quantifiers. It additional adds an optional (disabled by default) rewriting pass that calls the extended rewriter on the body of quantified formulas. This subsumes the previous behavior and should not be buggy.

Notice that the indentation in computeProcessTerms changed and subsequently has been updated to the new coding standards.

This PR relies on #3840.
src/options/quantifiers_options.toml
src/theory/quantifiers/quantifiers_rewriter.cpp
src/theory/quantifiers/quantifiers_rewriter.h
test/regress/CMakeLists.txt
test/regress/regress0/quantifiers/agg-rew-test-cf.smt2
test/regress/regress0/quantifiers/agg-rew-test.smt2
test/regress/regress1/sygus/issue3839-cond-rewrite.smt2 [new file with mode: 0644]