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