Nel descrivere un predicato (con i suoi argomenti) viene utilizzata la seguente sintassi:

length(?List, ?Int)
sort(+List, -Sorted)

I simboli ?, + e - hanno un preciso significato nel definire un'argomento dei predicati:
- +Arg significa che l'argomento deve essere un'istanza.
- -Arg significa che l'argomento deve essere una variabile.
- ?Arg significa che l'argomento può essere un'istanza o una variabile.