ProofManager::currentPM()->getTheoryProofEngine()->printTheoryTerm(inputAssertion, os, globalLetMap);
os << " ";
- ProofManager::currentPM()->getTheoryProofEngine()->printTheoryTerm((*it).toExpr(), os, globalLetMap);
-
+ ProofManager::currentPM()->printTrustedTerm(*it, os, globalLetMap);
os << "))";
os << "(\\ "<< ProofManager::getPreprocessedAssertionName(*it, "") << "\n";
paren << "))";
//TODO
os << "(trust_f ";
- if (ProofManager::currentPM()->getTheoryProofEngine()->printsAsBool(*it)) os << "(p_app ";
- ProofManager::currentPM()->getTheoryProofEngine()->printTheoryTerm((*it).toExpr(), os, globalLetMap);
- if (ProofManager::currentPM()->getTheoryProofEngine()->printsAsBool(*it)) os << ")";
+ ProofManager::currentPM()->printTrustedTerm(*it, os, globalLetMap);
os << ") ";
os << "(\\ "<< ProofManager::getPreprocessedAssertionName(*it, "") << "\n";
void ProofManager::ensureLiteral(Node node) {
d_cnfProof->ensureLiteral(node);
}
-
+void ProofManager::printTrustedTerm(Node term,
+ std::ostream& os,
+ ProofLetMap& globalLetMap)
+{
+ TheoryProofEngine* tpe = ProofManager::currentPM()->getTheoryProofEngine();
+ if (tpe->printsAsBool(term)) os << "(p_app ";
+ tpe->printTheoryTerm(term.toExpr(), os, globalLetMap);
+ if (tpe->printsAsBool(term)) os << ")";
+}
} /* CVC4 namespace */
// for SMT variable names that have spaces and other things
static std::string sanitize(TNode var);
+ // wrap term with (p_app ... ) if the term is printed as a boolean, and print
+ // used for "trust" assertions
+ static void printTrustedTerm(Node term,
+ std::ostream& os,
+ ProofLetMap& globalLetMap);
+
/** Add proof assertion - unlike addCoreAssertion this is post definition expansion **/
void addAssertion(Expr formula);