printSort(array_type.getConstituentType(), os);
os << "))\n";
+ paren << ")";
} else {
Assert(term.isVariable());
if (ProofManager::getSkolemizationManager()->isSkolem(*it)) {
os << "(% " << ProofManager::sanitize(term) << " ";
os << "(term ";
os << term.getType() << ")\n";
+ paren << ")";
}
}
-
- paren << ")";
}
Debug("pf::array") << "Declaring terms done!" << std::endl;
smt::SmtScope scope(d_smtEngine);
std::ostringstream paren;
out << "(check\n";
+ paren << ")";
out << " ;; Declarations\n";
// declare the theory atoms
Debug("pf::pm") << std::endl << "LFSCProof::toStream: print assertions DONE" << std::endl;
out << "(: (holds cln)\n\n";
+ paren << ")";
// Have the theory proofs print deferred declarations, e.g. for skolem variables.
out << " ;; Printing deferred declarations \n\n";
Debug("pf::pm") << "Proof manager: printing theory lemmas DONE!" << std::endl;
if (options::bitblastMode() == theory::bv::BITBLAST_MODE_EAGER && ProofManager::getBitVectorProof()) {
- // print actual resolution proof
- // d_satProof->printResolutions(out, paren);
ProofManager::getBitVectorProof()->getSatProof()->printResolutionEmptyClause(out, paren);
- paren <<")))\n;;";
- out << paren.str();
- out << "\n";
} else {
// print actual resolution proof
d_satProof->printResolutions(out, paren);
d_satProof->printResolutionEmptyClause(out, paren);
- paren <<")))\n;;";
- out << paren.str();
- out << "\n";
}
+
+ out << paren.str();
+ out << "\n;;\n";
}
void LFSCProof::printPreprocessedAssertions(const NodeSet& assertions,
void LFSCSatProof<Solver>::printResolution(ClauseId id, std::ostream& out,
std::ostream& paren) {
out << "(satlem_simplify _ _ _ ";
+ paren << ")";
const ResChain<Solver>& res = this->getResolutionChain(id);
const typename ResChain<Solver>::ResSteps& steps = res.getSteps();
}
out << "(\\ " << this->clauseName(id) << "\n"; // bind to lemma name
- paren << "))"; // closing parethesis for lemma binding and satlem
+ paren << ")";
}
/// LFSCSatProof class