:- category(catdynpred). % dynamic predicates may be declared inside categories but ... :- public(dynpred/1). :- dynamic(dynpred/1). % ... clauses for dynamic predicates are not allowed dynpred(1). dynpred(2). dynpred(3). :- end_object.