:
Les variables libres* de
.
:
Les variables liées* de
.
:
Opération de remplacement des occurrences libres*
de
par
.
On note
l'application de cette opération à
un terme
.
:
Le type d'un
terme
.
:
Le fait que
se réduise en
.
On pourra ajouter un indice pour spécifier le système de réécriture.
Par exemple,
.
On pourra aussi ajouter un exposant pour spécifier le nombre de pas.
Par exemple,
et
.
:
Une séquence de
de longueur indéterminée.
Le
-ème élément est noté
.
:
Une séquence de
de longueur
.
Le
-ème élément est noté
.
et
:
Un connecteur ou une formule
qui est restreint à n'apparaître
qu'en des occurrences
positives* (négatives*) dans un but*
ou négatives (positives) dans une clause*.
Ces signes peuvent décorer les non-terminaux qui engendrent des notations de but et de clause. Le même symbole peut servir dans des notations de but ou de clause, mais on convient qu'il hérite du signe du non-terminal qui l'engendre.
:
Concaténation des listes
et
.
:
Valeur de vérité «Faux» ou «Absurde».
:
Valeur de vérité «Vrai».
[] :
synt.progr.
Liste vide (nil).
[
, ...,
] :
synt.progr.
Liste dont
, ... et
(
)
sont les éléments.
[
, ...,
|B] :
synt.progr.
Liste dont
, ... et
(
)
sont les
premiers éléments,
et
est la sous-liste qui les suit.
:
synt.progr.
La
-abstraction*.
Par exemple, on écrit x
E au lieu de
.
:- et => :
synt.progr.
Implication* dans les formules négatives*
et positives*.
Par exemple,
on écrit Tete :- Corps
(resp. Clause => But)
au lieu de Corps
Tete
(resp. Clause
But).
, et ; :
synt.progr.
Conjonction et disjonction.
Par exemple,
on écrit
,
(resp.
;
)
au lieu de
(resp.
).
-> :
synt.progr.
Flèche de construction des types fonctionnels.
Par exemple,
on écrit int -> int
au lieu de
.
_ :
synt.progr.
Variable anonyme.
Deux occurrences de ce symbole dans la même clause désignent deux variables
distinctes.
. :
synt.progr.
Point final («full-stop») de la notation des déclarations et des clauses.
Ce point appartient à la syntaxe de Standard Prolog*
et de
Prolog.