Predefined operators according to ISO/IEC 13211-1 and 13211-2:
| Priority | Type | Operator(s) | Use |
|---|---|---|---|
| 1200 | xfx | :- --> | |
| 1200 | fx | :- ?- | Directive, query |
| 1100 | xfy | ; | |
| 1050 | xfy | -> | |
| 1000 | xfy | ',' | |
| 900 | fy | \+ | |
| 700 | xfx | = \\= | Term unification |
| 700 | xfx | == \\== @< @=< @> @>= | Term comparison |
| 700 | xfx | =.. | |
| 700 | xfx | is =:= =\= < > =< >= | Arithmetic evaluation and comparison |
| 600 | xfy | : | Module qualification |
| 500 | yfx | + - /\ \/ | |
| 400 | yfx | * / div mod // rem << >> | |
| 200 | xfx | ** | Float power |
| 200 | xfy | ^ | Variable quantification, integer power |
| 200 | fy | + - \ | Arithmetic identity, negation ; bitwise complement |
Many systems provide further operators as an implementation specific extension:
| Priority | Type | Operator(s) | Use |
|---|---|---|---|
| 1150 | fx | dynamic multifile discontiguous initialization | Standard directives |
| 1150 | fx | mode public volatile block meta_predicate | |
| 900 | fy | spy nospy |