6 #ifndef KNOWROB_PREDICATE_H_
7 #define KNOWROB_PREDICATE_H_
13 #include "knowrob/terms/Term.h"
14 #include "knowrob/terms/Bindings.h"
15 #include "knowrob/terms/Atom.h"
16 #include "knowrob/terms/Function.h"
22 class Predicate :
public Formula {
58 void write(std::ostream &os)
const override;
void write(std::ostream &os) const override
static FunctionPtr toFunction(const std::shared_ptr< Predicate > &predicate)
const std::set< std::string_view > & variables()
bool isEqual(const Formula &other) const override
const std::set< std::string_view > variables_
Predicate(AtomPtr functor, const std::vector< TermPtr > &arguments={})
const std::vector< TermPtr > & arguments() const
const std::vector< TermPtr > arguments_
static std::shared_ptr< Predicate > fromFunction(const FunctionPtr &fn)
std::set< std::string_view > getVariables1() const
Predicate(std::string_view functor, const std::vector< TermPtr > &arguments={})
std::shared_ptr< Predicate > PredicatePtr
std::shared_ptr< Function > FunctionPtr
std::shared_ptr< Atom > AtomPtr