1 /*++
2 
3 Abstract: Pretty-printer for proofs in Graphviz format
4 
5 --*/
6 
7 #pragma once
8 
9 #include <iostream>
10 #include "ast/ast_pp.h"
11 
12 class ast_pp_dot {
13     ast_manager &       m_manager;
14     proof * const       m_pr;
15 
16   public:
ast_pp_dot(proof * pr,ast_manager & m)17     ast_pp_dot(proof *pr, ast_manager &m) : m_manager(m), m_pr(pr) {}
ast_pp_dot(proof_ref & e)18     ast_pp_dot(proof_ref &e) : m_manager(e.m()), m_pr(e.get()) {}
19 
20     std::ostream & pp(std::ostream & out) const;
get_manager()21     ast_manager & get_manager() const { return m_manager; }
22 };
23 
24 std::string escape_dot(std::string const & s);
25 
26 std::ostream &operator<<(std::ostream &out, const ast_pp_dot & p);
27 
28