25#ifndef SUBSTITUTIONSTACK_HPP
26#define SUBSTITUTIONSTACK_HPP
30#include "Substitution.hpp"
48 vector<Variable*> stack;
55 vector<size_t> backtrack_points;
91 void clear() { stack.clear(); backtrack_points.clear(); next_index = 0; }
General representation of a substitution.
Definition Substitution.hpp:57
As you build a proof you make substitutions that apply to the entire proof: if you backtrack during t...
Definition SubstitutionStack.hpp:42
void backtrack()
Remove variables from the stack, and remove substitutions as you go, as far back as the most recent b...
Definition SubstitutionStack.cpp:36
SubstitutionStack(const SubstitutionStack &)=delete
As usual, you really don't want to be messing with this kind of thing, so let the compiler find your ...
void clear()
Reset everything.
Definition SubstitutionStack.hpp:91
void push_all(Substitution &)
Take all the substitutions provided and add the corresponding variables to the stack.
Definition SubstitutionStack.cpp:28
SubstitutionStack()
If you need a different initialization, you're probably doing something wrong.
Definition SubstitutionStack.hpp:65