Notice this also updates our regression script to use --debug-check-model, preserving previous behavior.
Fixes #4461, fixes #4470, fixes #4471, fixes #4475, fixes #4448, fixes #4466, fixes #4460, fixes #4458, fixes #4455, fixes #4456, fixes #4386, fixes #4385, fixes #4478, fixes #4474.
long = "check-models"
type = "bool"
notifies = ["notifyBeforeSearch"]
- read_only = true
help = "after SAT/INVALID/UNKNOWN, check that the generated model satisfies user assertions"
+[[option]]
+ name = "debugCheckModels"
+ category = "regular"
+ long = "debug-check-models"
+ type = "bool"
+ notifies = ["notifyBeforeSearch"]
+ help = "after SAT/INVALID/UNKNOWN, check that the generated model satisfies user and internal assertions"
+
[[option]]
name = "dumpModels"
category = "regular"
void setDefaults(SmtEngine& smte, LogicInfo& logic)
{
// implied options
+ if (options::debugCheckModels())
+ {
+ Notice() << "SmtEngine: setting checkModel" << std::endl;
+ options::checkModels.set(true);
+ }
if (options::checkModels() || options::dumpModels())
{
Notice() << "SmtEngine: setting produceModels" << std::endl;
}
// Check individual theory assertions
- d_theoryEngine->checkTheoryAssertionsWithModel(hardFailure);
-
+ if (options::debugCheckModels())
+ {
+ d_theoryEngine->checkTheoryAssertionsWithModel(hardFailure);
+ }
+
// Output the model
Notice() << *m;
TheoryModel* tm = static_cast<TheoryModel*>(m);
Assert(tm != nullptr);
// debug-check the model if the checkModels() is enabled.
- if (options::checkModels())
+ if (options::debugCheckModels())
{
debugCheckModel(tm);
}
'--check-synth-sol' not in all_args:
extra_command_line_args = ['--check-synth-sol']
if re.search(r'^(sat|invalid|unknown)$', expected_output) and \
+ '--no-debug-check-models' not in all_args and \
'--no-check-models' not in all_args and \
- '--check-models' not in all_args:
- extra_command_line_args = ['--check-models']
+ '--debug-check-models' not in all_args:
+ extra_command_line_args = ['--debug-check-models']
if proofs and re.search(r'^(unsat|valid)$', expected_output):
if '--no-check-proofs' not in all_args and \
'--check-proofs' not in all_args and \