public/1
public(Functor/Arity) public(Functor1/Arity1, Functor2/Arity2, ...) public([Functor1/Arity1, Functor2/Arity2, ...])Declares public predicates. A public predicate can be called from any object.
public(+predicate_indicator_term)
:- public(ancestor/1). :- public(instance/1, instances/1). :- public([leaf/1, leaves/1]).