25#ifndef PROOFPRINTER_HPP
26#define PROOFPRINTER_HPP
33#include "TableauProof.hpp"
35using std::filesystem::path;
37using ProofLine = pair<string, vector<size_t>>;
38using ProofType = vector<ProofLine>;
46void show_internal_proof(
const ProofType&);
127 void make_LaTeX(
const path&,
const path&,
const string&);
Representation of the Matrix within a proof.
Class for rendering a proof in various formats.
string make_LaTeX_start(const path &, const path &, const string &) const
The beginning and end of output LaTeX files are the same for all formats.
pair< string, unordered_set< string > > make_tptp(Matrix *, VariableIndex *, TermIndex *)
Show the proof in a TPTP-friendly format.
void make_graphviz_connection_tableau(const path &, const path &, Matrix *, VariableIndex *, TermIndex *)
Convert to LaTeX in the connection tableau calculus and store in the specified file.
string make_LaTeX_state(StackItem *) const
Helper for producing LaTeX output.
void make_Prolog(const path &)
Convert to a form suitable for use by the Prolog proof checker and write to a file.
string make_LaTeX_subtree(StackItem *) const
Helper for producing LaTeX output.
ProofPrinter(Stack *_p)
The constructor you want.
void set_proof(Stack *_p)
Basic set method.
Stack * p
Pointer to the output of StackProver.
void make_LaTeX(const path &, const path &, const string &)
Convert to LaTeX and store in the specified file.
ProofPrinter()
Basic constructor.
void show_Prolog()
Show the proof in Prolog format.
vector< pair< string, vector< size_t > > > make_internal() const
Make a simple data structure representing the proof stack.
void make_LaTeX_connection_tableau(const path &, const path &, const string &, Matrix *, VariableIndex *, TermIndex *)
Convert to LaTeX in the connection tableau calculus and store in the specified file.
string make_LaTeX_end() const
The beginning and end of output LaTeX files are the same for all formats.
void clear()
Basic set method.
If you implement the stacks used by the prover as a vector<StackItem> then every time you move down t...
Look after terms, using hash consing to avoid storing copies of terms.
Storage of named variables, and management of new, anonymous and unique variables.
Stack items: each contains its own material for generating possible next inferences.