31#include "InferenceItem.hpp"
93 inline uint32_t
length()
const {
return len; }
101 inline void set_num_preds(
size_t num_predicates) { num_preds = num_predicates; }
179 vector<Literal>::const_iterator
cbegin()
const {
return path.cbegin(); }
180 vector<Literal>::const_iterator cend()
const {
return path.cend(); }
181 vector<Literal>::iterator begin() {
return path.begin(); }
182 vector<Literal>::iterator end() {
return path.end(); }
184 friend ostream& operator<<(ostream&,
const SimplePath&);
Representation of clauses.
Basic representation of literals, bundling together (pointers to) a Predicate, a collection of argume...
Simple representation of the path within a proof tree.
vector< Literal > path
Simple representation of a path as a vector of Literals.
string to_string(bool=false) const
Convert the path to a string.
vector< Literal >::const_iterator cbegin() const
Iterators just traverse the path vector.
uint32_t length() const
Straightforward get method.
void push(const Literal &)
Add a new Literal to the Path.
void show_path_only(ostream &)
Show just the path.
string make_LaTeX(bool=false) const
Convert the Path only to a LaTeX representation.
void set_num_preds(size_t num_predicates)
Set method for num_predicates.
bool test_for_regularity(Clause &) const
Regularity test.
void find_limited_reductions(Unifier &, vector< InferenceItem > &, Clause &)
Given a Clause, find all possible reductions given the current Path, but only for the first Literal i...
void clear()
evert to the empty state without changing num_preds.
SimplePath()
You should () usually never need a more compilcated constructor.
void pop()
Remove the last item from the Path.
void find_reductions(Unifier &, vector< InferenceItem > &, const Literal &, LitNum)
Find the reductions that you can perform for a specified Literal.
Literal back() const
Get the last Literal in the Path. Non-destructive.
void find_all_reductions(Unifier &, vector< InferenceItem > &, Clause &)
Given a Clause, find all possible reductions given the current Path.
Wrap up various applications of unificiation into a single class: all the unification you need to do ...