diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-09-04 17:52:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-04 17:52:11 -0500 |
commit | 3f150596fe2186aea1c40b3210e8a0d59dc1ba94 (patch) | |
tree | d0e3fbe5e3e55ef59783b8b4eb3e15e1f7020a4c /src/theory/theory_inference.cpp | |
parent | 721ce847f4d44fb7ee2509df3b34aad49fc7f484 (diff) |
Add asLemma flag to theory inference process (#5030)
This is required for strings, which uses the same data structure, InferInfo, for both lemmas and facts. This ensures the process method of theory inference knows where we are a pending lemma or a pending fact.
It also makes a few changes necessary for the proof-new branch, including disabling the proof node manager in the inference manager for datatypes.
Diffstat (limited to 'src/theory/theory_inference.cpp')
-rw-r--r-- | src/theory/theory_inference.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/theory/theory_inference.cpp b/src/theory/theory_inference.cpp index 618dc640b..38e01eea5 100644 --- a/src/theory/theory_inference.cpp +++ b/src/theory/theory_inference.cpp @@ -28,9 +28,10 @@ SimpleTheoryLemma::SimpleTheoryLemma(Node n, { } -bool SimpleTheoryLemma::process(TheoryInferenceManager* im) +bool SimpleTheoryLemma::process(TheoryInferenceManager* im, bool asLemma) { Assert(!d_node.isNull()); + Assert(asLemma); // send (trusted) lemma on the output channel with property p return im->trustedLemma(TrustNode::mkTrustLemma(d_node, d_pg), d_property); } @@ -42,8 +43,9 @@ SimpleTheoryInternalFact::SimpleTheoryInternalFact(Node conc, { } -bool SimpleTheoryInternalFact::process(TheoryInferenceManager* im) +bool SimpleTheoryInternalFact::process(TheoryInferenceManager* im, bool asLemma) { + Assert(!asLemma); bool polarity = d_conc.getKind() != NOT; TNode atom = polarity ? d_conc : d_conc[0]; // no double negation or conjunctive conclusions |