#include "ProofExtra.hpp"
namespace Inferences {
void LiteralInferenceExtra::output(std::ostream &out) const {
out << "selected=(" << selectedLiteral->toString() << ')';
}
void TwoLiteralInferenceExtra::output(std::ostream &out) const {
selectedLiteral.output(out);
out << ",other=(" << otherLiteral->toString() << ')';
if (synthesisExtra.condition) {
out << ",condition=(" << synthesisExtra.condition->toString() << ")";
}
if (synthesisExtra.thenLit) {
out << ",thenLit=(" << synthesisExtra.thenLit->toString() << "," << synthesisExtra.thenLit << ")";
}
if (synthesisExtra.elseLit) {
out << ",elseLit=(" << synthesisExtra.elseLit->toString() << "," << synthesisExtra.elseLit << ")";
}
}
void RewriteInferenceExtra::output(std::ostream &out) const {
out << "lhs=" << lhs << ",target=" << rewritten;
}
void TwoLiteralRewriteInferenceExtra::output(std::ostream &out) const {
selected.output(out);
out << ',';
rewrite.output(out);
}
}