summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/sygus')
-rw-r--r--src/theory/quantifiers/sygus/ce_guided_single_inv.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp b/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp
index 2e5a834b1..27d77dfbb 100644
--- a/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp
+++ b/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp
@@ -564,13 +564,15 @@ Node CegSingleInv::reconstructToSyntax(Node s,
}
}
-
- if( Trace.isOn("csi-sol") ){
- //debug solution
- if (!d_sol->debugSolution(d_solution))
- {
- Trace("csi-sol") << "WARNING : solution " << d_solution << " contains free constants." << std::endl;
- }
+ // debug solution
+ if (!d_sol->debugSolution(d_solution))
+ {
+ // This can happen if we encountered free variables in either the
+ // instantiation terms, or in the instantiation lemmas after postprocessing.
+ // In this case, we fail, since the solution is not valid.
+ Trace("csi-sol") << "FAIL : solution " << d_solution
+ << " contains free constants." << std::endl;
+ reconstructed = -1;
}
if( Trace.isOn("cegqi-stats") ){
int tsize, itesize;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback