summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/sygus_pbe.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-12-04 16:04:47 -0600
committerGitHub <noreply@github.com>2018-12-04 16:04:47 -0600
commit33ec6ac29c55ac6db7d86a700cb5e8f06b93ab96 (patch)
treed8c9eaf2d309f89602b1b6a5363b1688721cb757 /src/theory/quantifiers/sygus/sygus_pbe.cpp
parentcf7a6431e7fdcbb30704343f57411154464e0c30 (diff)
Apply extended rewriting on PBE static symmetry breaking. (#2735)
Diffstat (limited to 'src/theory/quantifiers/sygus/sygus_pbe.cpp')
-rw-r--r--src/theory/quantifiers/sygus/sygus_pbe.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/theory/quantifiers/sygus/sygus_pbe.cpp b/src/theory/quantifiers/sygus/sygus_pbe.cpp
index e8aa0a7f0..7891814be 100644
--- a/src/theory/quantifiers/sygus/sygus_pbe.cpp
+++ b/src/theory/quantifiers/sygus/sygus_pbe.cpp
@@ -272,6 +272,10 @@ bool SygusPbe::initialize(Node n,
Assert(!ag.isNull());
disj.push_back(ag.negate());
Node lem = disj.size() == 1 ? disj[0] : nm->mkNode(OR, disj);
+ // Apply extended rewriting on the lemma. This helps utilities like
+ // SygusEnumerator more easily recognize the shape of this lemma, e.g.
+ // ( ~is-ite(x) or ( ~is-ite(x) ^ P ) ) --> ~is-ite(x).
+ lem = d_tds->getExtRewriter()->extendedRewrite(lem);
Trace("sygus-pbe") << " static redundant op lemma : " << lem
<< std::endl;
// Register as a symmetry breaking lemma with the term database.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback