summaryrefslogtreecommitdiff
path: root/src/preprocessing/preprocessing_pass_context.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2021-04-22 10:02:05 -0500
committerGitHub <noreply@github.com>2021-04-22 15:02:05 +0000
commitccd0e7fdf1484d72b0a2565fefd0259fe7557b0c (patch)
tree5713dd6c821f13151e6ba71f519d5d2394a316c6 /src/preprocessing/preprocessing_pass_context.cpp
parentbc928d24d7454d81f39006b4129a29286fcd10eb (diff)
Fix models for sygus-inference, bv2int, real2int (#6421)
In each case, previously we were generating a define-fun, what we needed was to do a model substitution. This actually meant that check-models was giving false positives. The model was incorrect but check-models succeeded due to its use of expand definitions.
Diffstat (limited to 'src/preprocessing/preprocessing_pass_context.cpp')
-rw-r--r--src/preprocessing/preprocessing_pass_context.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/preprocessing/preprocessing_pass_context.cpp b/src/preprocessing/preprocessing_pass_context.cpp
index 22cc15a97..4be6b4aac 100644
--- a/src/preprocessing/preprocessing_pass_context.cpp
+++ b/src/preprocessing/preprocessing_pass_context.cpp
@@ -63,6 +63,15 @@ void PreprocessingPassContext::addModelSubstitution(const Node& lhs,
lhs, d_smt->expandDefinitions(rhs, false));
}
+void PreprocessingPassContext::addSubstitution(const Node& lhs,
+ const Node& rhs,
+ ProofGenerator* pg)
+{
+ d_topLevelSubstitutions.addSubstitution(lhs, rhs, pg);
+ // also add as a model substitution
+ addModelSubstitution(lhs, rhs);
+}
+
ProofNodeManager* PreprocessingPassContext::getProofNodeManager()
{
return d_pnm;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback