The built-in predicates listed in the table below are exported from the common-prolog (clog) package.
| same as Prolog  | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| same as Prolog except all variables sort as identical | |
| ditto | |
| ditto | |
| ditto | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog (unusual syntax)* | |
| standard Prolog | |
| standard Prolog | |
| cause debugging information to be saved for each call whether it is spied or not | |
| display a list of all spied goals | |
| define a relation and declare it to be deterministic | |
| define a grammar rule | |
| define a relation | |
| define a logic macro | |
| like defrelmacro but can have &rest in  | |
| declare the relation called  | |
| delete the predicate with database reference  | |
| standard Prolog | |
| generate all solutions to ?goal and instantiate  | |
| same as findall/3 but removes duplicates | |
| standard Prolog | |
| exit Common Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog except uses alist style cons pairs | |
| cause the interpreter to pause and ask for input when one of the leashed events is traced. An event-spec is one of:  | |
| display a listing of the named predicate or listings for each arity if no arity is specified | |
| standard Prolog | |
| leave debug mode (cease saving debug info for non-spied goals) | |
| standard Prolog | |
| remove  | |
| standard Prolog | |
| turn off exhaustive tracing for debugged goals | |
| satisfy  | |
| return a list of  | |
| read in a term | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog | |
| standard Prolog (unusual syntax)* | |
| standard Prolog | |
| spy  | |
| turn on tracing for debugged goals, also turn on debugging for the next top level goal | |
| translate back and forth between internal and external variable representations. Can be used to pretty up the writing of terms containing variables | |
| standard Prolog | |
| Undo leashing for  | |
| standard Prolog | |
| standard Prolog way to call a grammar rule | |
| 
 | standard Prolog way to call a grammar rule | 
* setof and bagof in standard Prolog use a special syntax for existentially quantified variables, for example:
?- setof(X, Y^foo(X,Y), Z).
In Common Prolog, this would look like:
==> (setof ?x ((foo ?x ?y) ?y) ?z)
So, a goal with no existentially quantified variables is nested in an extra set of parentheses:
==> (bagof ?x ((bar ?x)) ?z)
KnowledgeWorks and Prolog User Guide (Windows version) - 01 Dec 2021 19:36:05