d_realMode = true;
}
+ if (term.isVariable() && !ProofManager::getSkolemizationManager()->isSkolem(term)) {
+ d_declarations.insert(term);
+ }
+
// recursively declare all other terms
for (unsigned i = 0; i < term.getNumChildren(); ++i) {
// could belong to other theories
}
void LFSCArithProof::printTermDeclarations(std::ostream& os, std::ostream& paren) {
+ for (ExprSet::const_iterator it = d_declarations.begin(); it != d_declarations.end(); ++it) {
+ Expr term = *it;
+ Assert(term.isVariable());
+ os << "(% " << ProofManager::sanitize(term) << " ";
+ os << "(term ";
+ os << term.getType() << ")\n";
+ paren << ")";
+ }
}
void LFSCArithProof::printDeferredDeclarations(std::ostream& os, std::ostream& paren) {
// std::map<Expr, std::string> d_constRationalString; // all the variable/function declarations
// TypeSet d_sorts; // all the uninterpreted sorts in this theory
- // ExprSet d_declarations; // all the variable/function declarations
+ ExprSet d_declarations; // all the variable/function declarations
bool d_realMode;