30#include "SimplePath.hpp"
41enum class StackItemType {
42 Start, Axiom, Reduction, LeftBranch, RightBranch,
Lemmata
45ostream& operator<<(ostream&,
const StackItemType&);
223ostream& operator<<(ostream&,
const StackItem&);
Representation of clauses.
Representation of the lemma list.
Simple representation of the path within a proof tree.
General representation of a substitution.
Full representation of inferences, beyond just the name.
Stack items: each contains its own stack of possible next inferences.
void restrict_backtrack()
Adjust the collection of actions to limit backtracking.
void clear()
Delete all the remaining possible actions.
SimplePath p
Each node in the proof tree is a tuple of clause, matrix, path, lemmata: this is the path.
vector< InferenceItem > actions
Actions available to try.
string to_string_unsubbed() const
Make a string representation.
Substitution sub
Some nodes in the proof tree have an associated substitution.
void set_bt_restriction_index(size_t i)
Basic set method.
uint32_t depth
How deep in the proof tree are we?
size_t bt_restriction_index
Pointer that allows a right branch to know where to delete alternatives for restricted backtracking.
void set_this_action(const InferenceItem &inf_i)
Basic set method.
InferenceItem this_action
Action that got you to this clause, path etc.
Lemmata l
Each node in the proof tree is a tuple of clause, matrix, path, lemmata: this is the lemmata.
Clause c
Each node in the proof tree is a tuple of clause, matrix, path, lemmata: this is the clause.
StackItemType item_type
What type of StackItem is this?