/* This category defines a set of predicates, which are imported by the roots of both the class-based and the prototype-based hierarchies of this example. */ :- category(predicates). :- public(public/0). :- mode(public, one). :- protected(protected/0). :- mode(protected, one). :- private(private/0). :- mode(private, one). public :- write('Public predicate declared and defined in category "predicates".'), nl. protected :- write('Protected predicate declared and defined in category "predicates".'), nl. private :- write('Private predicate declared and defined in category "predicates".'), nl. :- end_category.