Best viewed in 24pt and full-screen
next up previous contents
Next: B Up: A-Z Previous: A-Z

A

kind arbre2 type -> type .
type feuille A -> (arbre2 A) .
type ntex2html_wrap52064ud (arbre2 A) -> (arbre2 A) -> (arbre2 A) .

type aplatir (arbre2 A) -> (list A) -> o .
aplatir (feuille F) [F] .
aplatir (ntex2html_wrap52064ud G D) F :- aplatir G Gf , aplatir D Df , conc Gf Df F .

type aplatir_g (arbre2 A) -> (list A) -> (list A) -> o .
aplatir_g (feuille F) --> ` [F] .
aplatir_g (ntex2html_wrap52064ud G D) --> aplatir_g G tex2html_wrap_inline52828 aplatir_g D .


Prédicat qui relie un arbre et la liste de ses feuilles. Version directe (aplatir) et version grammaticale (aplatir_g).

tex2html_wrap_inline56836-Abstraction. n.f. (rel. tex2html_wrap_inline56836-calcul*) (tex2html_wrap_inline55796 ex.progr. déclaration de abs*) Construction de la syntaxe du tex2html_wrap_inline56836-calcul qui lie une tex2html_wrap_inline56836-variable* dans un tex2html_wrap_inline56836-terme*. Si tex2html_wrap_inline53952 est une tex2html_wrap_inline56836-variable et si tex2html_wrap_inline51794 est un tex2html_wrap_inline56836-terme, alors tex2html_wrap_inline53970 est une tex2html_wrap_inline56836-abstraction. On peut interpréter la tex2html_wrap_inline56836-abstraction comme une fonction qui à tout tex2html_wrap_inline53952 fait correspondre tex2html_wrap_inline51794.

Les tex2html_wrap_inline56836-abstractions sont engendrées par la règle de grammaire suivante :

displaymath53286

où les tex2html_wrap_inline53324 sont les identificateurs de variables.

L'abstraction introduit les notions d'en-tête, de tête et de corps. Dans le terme tex2html_wrap_inline53326, l'en-tête est tex2html_wrap_inline53328, la tête est tex2html_wrap_inline51594 et le corps est tex2html_wrap_inline53332.

On dit qu'une abstraction lie les variables de son en-tête. On distingue ainsi entre occurrences de variable liées et libres. Dans le terme tex2html_wrap_inline53334, tex2html_wrap_inline53958 n'a que des occurrences libres, la seule occurrence de tex2html_wrap_inline56342 est liée, et tex2html_wrap_inline53952 a une occurrence libre et une autre liée (respectivement sa première et sa seconde). Dans le sous-terme souligné, tex2html_wrap_inline53952 et tex2html_wrap_inline53958 n'ont que des occurrences libres et la seule occurrence de tex2html_wrap_inline53952 est liée. Plus généralement, une occurrence de variable est liée dans un terme de référence si elle est sous-terme d'une abstraction qui lie la variable et qui est sous-terme du terme de référence. Une occurrence de variable est dite libre si elle n'est pas liée. On appelle variables libres d'un terme les variables qui ont une occurrence libre dans le terme, variables liées celles qui ont une occurrence liée dans le terme. Un terme sans variables libres est appelé combinateur*.

Antécédent. n.m. (tex2html_wrap_inline55796 séquent*)

Antiskolémisation. n.m. (tex2html_wrap_inline55796 skolémisation*)

Application. n.f. (tex2html_wrap_inline55796 ex.progr. déclaration de app*) Construction de la syntaxe du tex2html_wrap_inline56836-calcul* qui combine deux tex2html_wrap_inline56836-termes*. Si tex2html_wrap_inline51794 et tex2html_wrap_inline53950 sont des tex2html_wrap_inline56836-termes, alors tex2html_wrap_inline53364 est une application. On peut interpréter l'application du tex2html_wrap_inline56836-calcul comme l'application d'une fonction tex2html_wrap_inline51794 à un argument tex2html_wrap_inline53950.

Les applications sont engendrées par la règle suivante :

displaymath53287

On admet que l'application est associative à gauche, ce qui rend certaines parenthèses inutiles : par exemple, tex2html_wrap_inline53372 dénote la même chose que tex2html_wrap_inline53374.

Arité. n.f.

1) En Prolog, désigne le nombre d'arguments que doit prendre un symbole fonctionnel pour produire un terme du premier ordre bien formé. C'est le minimum qu'on puisse faire en matière de typage.

En Standard Prolog*, plusieurs symboles fonctionnels d'arités différentes peuvent avoir le même nom et cela peut laisser penser que ce minimum n'est même pas vérifié. Il n'en est rien car, il s'agit là des noms externes des symboles fonctionnels, que les concepteurs ont jugé bon de pouvoir surcharger. Les noms internes sont distingués par un suffixe qui dénote l'arité. Par exemple, f/1 est distingué de f/2.

2) En tex2html_wrap_inline56836Prolog, l'arité d'un constructeur de type est notée par une expression de la forme tex2html_wrap_inline53378. L'arité est alors le nombre de «tex2html_wrap_inline53380» dans l'expression. Par exemple, liste : tex2html_wrap_inline53382 est d'arité 1, et paire : tex2html_wrap_inline53384 est d'arité 2.

3) En tex2html_wrap_inline56836-calcul typé, désigne souvent la sorte des constructeurs de type. L'arité n'est alors pas toujours assimilable à un entier (par exemple, le tex2html_wrap_inline56836-calcul typé d'ordre tex2html_wrap_inline59109 [Barendregt 91]).


next up previous contents
Next: B Up: A-Z Previous: A-Z

Olivier Ridoux
Mon Apr 27 11:10:23 MET DST 1998