Bug fix
authorGuy <katz911@gmail.com>
Wed, 20 Jul 2016 02:33:15 +0000 (19:33 -0700)
committerGuy <katz911@gmail.com>
Wed, 20 Jul 2016 02:33:15 +0000 (19:33 -0700)
src/proof/proof_manager.cpp

index 09fc5dc8b61f25d6dc88686b0c89f69292b89861..cb6eee330f3736b185676e555afc5e12bf3d4056 100644 (file)
@@ -321,7 +321,12 @@ void ProofManager::getLemmasInUnsatCore(theory::TheoryId theory, std::vector<Nod
       lemma.insert(lit.isNegated() ? node.notNode() : node);
     }
 
-    LemmaProofRecipe recipe = getCnfProof()->getProofRecipe(lemma);
+    // TODO: we should be able to drop the "haveProofRecipe" check.
+    // however, there are some rewrite issues with the arith solver, resulting
+    // in non-registered recipes. For now we assume no one is requesting arith lemmas.
+    LemmaProofRecipe recipe;
+    if ( getCnfProof()->haveProofRecipe(lemma) )
+         recipe = getCnfProof()->getProofRecipe(lemma);
 
     if (recipe.simpleLemma() && recipe.getTheory() == theory) {
       lemmas.push_back(recipe.getOriginalLemma());