diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-12-04 17:18:06 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-04 17:18:06 -0600 |
commit | dd66d825a0e05b46690b0bb914da3b0aa2045654 (patch) | |
tree | 7648d3693578c2dbf8b74216fe335990784b3380 /src/theory/quantifiers/sygus/sygus_explain.cpp | |
parent | 1741bb48e54f25ef4fd7776380deca1dd60a2201 (diff) |
New grammar construction modes for SyGuS (#3486)
Diffstat (limited to 'src/theory/quantifiers/sygus/sygus_explain.cpp')
-rw-r--r-- | src/theory/quantifiers/sygus/sygus_explain.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/theory/quantifiers/sygus/sygus_explain.cpp b/src/theory/quantifiers/sygus/sygus_explain.cpp index b1baed9cb..cf1993efb 100644 --- a/src/theory/quantifiers/sygus/sygus_explain.cpp +++ b/src/theory/quantifiers/sygus/sygus_explain.cpp @@ -189,8 +189,13 @@ void SygusExplain::getExplanationFor(TermRecBuild& trb, TypeNode ntn = n.getType(); if (!ntn.isDatatype()) { - // sygus datatype fields that are not sygus datatypes are treated as - // abstractions only, hence we disregard this field + // SyGuS datatype fields that are not sygus datatypes are treated as + // abstractions only, hence we disregard this field. It is important + // that users of this method pay special attention to any constants, + // otherwise the explanation n.eqNode(vn) is necessary here. For example, + // any lemma schema that blocks the current value of an enumerator should + // not make any assumptions about the value of the arguments of its any + // constant constructors, since their explanation is not included here. return; } Assert(vn.getKind() == APPLY_CONSTRUCTOR); |