Add a few comments to ProofManager (#3477)
authorAlex Ozdemir <aozdemir@hmc.edu>
Tue, 19 Nov 2019 01:07:52 +0000 (17:07 -0800)
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 19 Nov 2019 01:07:52 +0000 (19:07 -0600)
src/proof/proof_manager.cpp

index fa4c1ecb512881d1ea0c52287782ce8d7a83a997..bbf5b00648dce112640d7ec5d10bac965c6162cf 100644 (file)
@@ -579,9 +579,13 @@ void LFSCProof::toStream(std::ostream& out) const
     CodeTimer skeletonProofTimer{
         ProofManager::currentPM()->getStats().d_skeletonProofTraceTime};
     Assert(!d_satProof->proofConstructed());
+
+    // Here we give our SAT solver a chance to flesh out the resolution proof.
+    // It proves bottom from a set of clauses.
     d_satProof->constructProof();
 
-    // collecting leaf clauses in resolution proof
+    // We ask the SAT solver which clauses are used in that proof.
+    // For a resolution proof, these are the leaves of the tree.
     d_satProof->collectClausesUsed(used_inputs, used_lemmas);
 
     IdToSatClause::iterator it2;
@@ -672,6 +676,8 @@ void LFSCProof::toStream(std::ostream& out) const
       }
     }
 
+    // From the clauses, compute the atoms (atomic theory predicates in
+    // assertions and lemmas).
     d_cnfProof->collectAtomsForClauses(used_inputs, atoms);
     d_cnfProof->collectAtomsForClauses(used_lemmas, atoms);