Nous utilisons les notations du calcul des prédicats pour présenter les résultats logiques, et la notation concrète de Prolog pour présenter des exemples de programmes (voir aussi la section «Notations»* -- du lexique des notions communes).
Pour le calcul des prédicats, nous utilisons les notations , , , , et pour les connecteurs et les quantificateurs du calcul des prédicats. Nous ne faisons pas d'hypothèse sur les priorités relatives des connecteurs, mais en contre-partie nous utilisons plus de parenthèses qu'il est habituel de le faire. Pour augmenter la lisibilité des parenthèses, nous utilisons les parenthèses rondes ('(' et ')', les vraies parenthèses) pour construire les termes et les formules propositionnelles, et les parenthèses carrées ('[' et ']', les crochets) pour les portées de quantificateurs. Il n'y a pas de convention lexicale pour distinguer les constantes des variables. Elles se reconnaissent à ce que les variables sont quantifiées alors que les constantes ne le sont pas. Les termes sont construits par -abstraction* et application*.
Pour les exemples de programmes Prolog nous utilisons la notation du système *. Elle utilise les conventions lexicales de Standard Prolog (/ 13211 [Deransart et al. 96]). À savoir, les identificateurs de variables liées par une quantification universelle implicite au niveau d'une clause commencent par une majuscule ou le signe «_», les identificateurs de constantes commencent par une minuscule ou sont placés entre guillemets simples «'...'», les connecteurs , , et sont notés «:-», «=>», «,» et «;».
De la même manière que pour Standard Prolog, des déclarations permettent de doter un symbole d'une syntaxe d'opérateur, préfixe, infixe ou postfixe. Ces déclarations indiquent aussi la portée des opérateurs à leur gauche et à leur droite. Enfin, d'un point de vue syntaxique, une clause n'est rien de plus qu'un terme, et il est du ressort d'une vérification «sémantique» de vérifier qu'il s'agit d'un terme construit avec un agencement légal de connecteurs.
Dans le but d'accroître la lisibilité des programmes, nous nous autorisons la licence d'utiliser des lettres accentuées dans les identificateurs, même si la syntaxe concrète des identificateurs ne le permet pas. En aucun cas, une différence d'accentuation ne sera la seule différence entre deux identificateurs du même exemple.
Les termes sont construits par -abstraction et application, mais la -abstraction est notée xE au lieu de . Les quantifications universelles au niveau des clauses restent implicites comme en Prolog, mais celles qui sont imbriquées plus profondément sont notées (pi x) pour . De même, les quantifications existentielles explicites sont notées (sigma x) pour . Les identificateurs de variables explicitement quantifiées (quantifications logiques ou -abstractions) emploient indifféremment la notation des variables ou celle des constantes. Il est alors d'usage de choisir la notation selon la sémantique de ces variables : par exemple, majuscule initiale ou «_...» pour les variables essentiellement existentielles*, minuscule initiale ou «'...'» pour les variables essentiellement universelles*
Les exemples de programmes peuvent aussi contenir deux sortes de déclaration. Les déclarations
kind <symbole constructeur de type> <notation d'arité>
ou
kind (<symbole constructeur de type>, ...) <notation d'arité>
introduisent de nouveaux symboles constructeurs de type et leur associent une arité*. De même, les déclarations
type <symbole constructeur de terme> <notation de type>
ou
type (<symbole constructeur de terme>, ...) <notation de type>
introduisent de nouveaux symboles constructeurs de termes et leur associent un type*.
Notons enfin que l'écart entre la syntaxe de et les autres implémentations de Prolog (voir la section «Autres systèmes Prolog»*) n'est pas très grand. La plus grande différence vient de ce que, dans ces implémentations, certains traits comme la notation de liste et les déclarations d'opérateurs sont inspirées de la syntaxe de Standard plutôt que de celle de Standard Prolog.