J EAN -P IERRE G INISTI
Présentation de la logique combinatoire en vue de ses applications
Mathématiques et sciences humaines, tome 103 (1988), p. 45-66
<http://www.numdam.org/item?id=MSH_1988__103__45_0>
© Centre d’analyse et de mathématiques sociales de l’EHESS, 1988, tous droits réservés.
L’accès aux archives de la revue « Mathématiques et sciences humaines » (http://
msh.revues.org/) implique l’accord avec les conditions générales d’utilisation (http://www.
numdam.org/conditions). Toute utilisation commerciale ou impression systématique est consti- tutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte- nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
PRESENTATION DE LA
LOGIQUE
COMBINATOIRE EN VUE DE SES APPLICATIONSJean-Pierre
GINISTI1
Nous nous proposons dans cet article d’introduire à la lecture
(ou
àl’écriture)
de travauxqui
utilisent la
logique
combinatoire dans les sciences de l’homme. Lalogique
combinatoire seraprésentée plutôt
comme unlangage
formel que comme unsystème
formel. Nous chercheronsavant tout à exposer ses
techniques
et leursenjeux, reléguant
au secondplan
celles desinvestigations qui
intéresseraientplus
directement lesmathématiques. Il
s’ensuit notamment que certaines preuves ne seront fourniesqu’intuitivement.
Cet article n’a pas nonplus
pourobjet,
d’ailleurs,
deprésenter
lesapplications
elles-mêmes. Il veut seulement en donner les conditions depossibilité
ou les schémas.Toutefois,
comme lacompréhension
sérieuse d’uneapproche
doitaller au-delà de l’assimilation de ses
techniques,
serontadjoints
des élémentsd’analyse conceptuelle, historique
et mêmeaxiomatique.
Les notesajouteront
des commentairesplus généraux qui suggèrent
une deuxièmeexploitation possible
de cetteprésentation :
celle quepourrait
en faire unephilosophie
dulangage,
naturel et formalisé.UNE
LOGIQUE
SANS VARIABLESLa
logique
combinatoire a deuxpromoteurs :
lelogicien
allemand Moses Schônfinkel lors d’une conférence de 1920qui
donna lieu à un articlerédigé
par Behmann etpublié
en 1924 Uber die Bausteine der mathematischenLogik ;
lelogicien
américain Haskell B.Curry (mort
en1982) qui
d’abord retrouvaindépendamment
certains résultats de Schônfinkelpuis
lesdéveloppa
trèsconsidérablement à
partir
de1930,
etqui
estl’auteur,
avec RobertFeys
pour lepremier volume,
avec J.R.
Hindley
et J.P. Seldin pour lesecond,
del’ouvrage théorique
deréférence2.
Telle
qu’elle apparaît
dans l’article deSchônfinkel-Behmann,
lalogique
combinatoire est née d’une recherche pour réduire le nombre des élémentsprésents
danschaque catégorie primitive
desymboles,
enprolongeant
la réduction obtenue parSlheffer
au seul connecteurd’incompatibilité
de tous les autres connecteurs, et
au-delà,
pour réduire le nombre descatégories primitives
de1 Professeur à l’Université Lyon III.
2
Combinatory
logic, Amsterdam, North-Holland Publ.Comp.,
vol..I : le éd. 1958, 2e éd. 1968 ; vol. II : 1972.symboles.
Si on utilise la notationpréfixée (dont
fera usage aussi dans sondomaine
lalogique
combinatoire),
c’est-à-direqui place chaque opérateur
devant son(ou ses) opérandes(s), quelque
soit le
nombre, supposé
connu, decelles-ci,
et en écrivantDpq
pour p estincompatible
avec q,on
exprimera
parexemple
-p(non p)
parDpp, qui
enpossède
la table devérité,
p.q(p
etq)
par
D(Dpq) (Dpq), qui
enpossède
la table devérité,
etc.. D’une manièresemblable,
ils’agit
pour Schônfinkel) d’économiser dans le calcul des
prédicats,
à l’intérieur de lacatégorie
desconstantes, les
quantificateurs V,
3 auprofit
d’un connecteurqui
est une extension de D.Mais il
s’agit
aussi pour lui d’économiser descatégories primitives
desymboles
en allantplus
loin que Sheffer
qui opérait
seulement à l’intérieur de l’une descatégories. Or,
comme lesparenthèses
ne sont que dessignes
deponctuation (d’ailleurs
éliminables sans introduired’ambiguïtés, D(Dpq) (Dpq)
devenantDDpqDpq),
il demeure dans le calcul despropositions,
si on s’en tient à lui pour
exemple,
deuxcatégories
desymboles proprement dits, respectivement
constituées des variables
propositionnelles (p et q dans
nosformules)
et del’unique
constanteD. Il y a d’abord un intérêt
général,
eneffet,
à éliminer sansperte
unecatégorie
desymboles
"du
point
de vue de laméthode",
dit Schônfinkel au§ 1, "qui
est de tendre vers laplus grande
unité de
pensée possible",
et un intérêtparticulier
à éliminer lacatégorie
des variablespuisque
celles-ci
apparaissent
comme desimples
commoditésd’expresssion3.
Enécrivant,
parexemple, (x
+y)
on évitera lapériphrase
"un certainobjet plus
unobjet identique
ou non à celuique
je
viens dedésigner
par les mots un certainobjet". Or,
il semble aventureux de renforcer le rôle des variables en faisantcorrespondre
au classement dessymboles
enconstantes
et variablesun classement
comparable
de deuxtypes
d’entités. Si"0", "1",
etc.désignent
des nombres constants, il est hasardeux de supposer que"x", "y",
etc.désignent
semblablement des nombres(ou
desquantités) variables,
même si ce vocabulaire a éténaguère utilisé, puisque
lespropriétés
d’unequantité
variableseraient, elles-mêmes,
et au sensusuel,
"variables"(voir
les remarques de Tarski au début de son Introduction à lalogique).
Direqu’une
variable(liée)
"parcourt
undomaine", qu’une
variable "tend vers 0" ne se réfère pas à desgrandeurs qui changent
maisrespectivement
à unsymbole qui
doitdésigner chaque objet
dudomaine,
nonseulement tel ou
tel,
et à unsymbole qui
serapporte
à unegrandeur susceptible
deprendre
unevaleur aussi
petite qu’on
levoudra4.
S’il
n’y
a donc pas de réalités distinctes attachées à des constantes et à des variables ni à desemplois
desymboles qu’on
"maintient constants" dans un certain contexte ouqu’on
"autorise à3 Cette élimination des variables est intéressante aussi,
ajoute
Schônfinkel, "d’un certainpoint
de vuephilosophique,
ou si l’on veut dupoint
de vueesthétique",
dans la mesure où une variable "a le caractère d’unsimple concept auxiliaire, à vrai dire inadéquat à la nature constante, "éternelle" de l’énoncé logique". Si on met la
réserve "ou si l’on veut du point de vue
esthétique"
au compte de la modestie du ton, bien que l’économie des moyens satisfasse aussi un critère dit "d’élégance", l’objectif est donné d’emblée comme étant "philosophique". Lemême
jeu
de mots que dans la traductionfrançaise souligne
dans le texte allemand la convenance des seulesconstantes à
l’expression
de "la nature constante de l’énoncélogique".
Par élimination des variables, ils’agit
bienen réalité de dégager ce dont parle l’énoncé, sans mentionner d’éléments subalternes, c’est-à-dire d’expliciter une
ontologie
(même si cette dernière se révèlera porter sur des actesplus
que sur des êtres).4 Certains travaux, à vrai dire,
parviennent
à donner aux référents des variables despropriétés (définies
par les thèses où ellesfigurent, quand
lelangage
estformel) qui
se modifient. C’est le cas, parexemple,
dessystèmes propositionnels
de Lesniewskiqui ajoutent étapes
parétapes,
comme dans une théoriequi
s’enrichit au cours du temps, à l’alphabet et aux axiomes initialement donnés, des éléments nouveaux et des thèses nouvelles, les règlesde déduction, notamment celle de substitution, étant exprimées de telle sorte qu’ells s’appliquent à ces adjonctions
successives. Il s’ensuit que les référents des variables ont des
propriétés
différentes selonl’étape
considéréepuisque
les thèses
qui
les définissent ne sont pas les mêmesqu’antérieurement.
Les expressions bien formées et les thèses nouvelles, en effet, qui s’introduisent à cette étape permettent des démonstrations supplémentaires. Qu’onjuge
condamnée ou non par de tels systèmes la
philosophie
des "vérités étemelles", les variables y demeurent, cependant, des commodités d’expression qu’on peut vouloir éliminer.varier" dans un autre, il faut
supprimer
lacatégorie
de variablepuisque
c’est ellequi
n’a pas derépondant ontologique direct5.
La
logique
combinatoire entend donc obtenir deslangages
formels sansvariables,
mais il faut remarquercependant : (1) qu’il
nes’agit
pas d’interdire les variables(dites intuitives,
oumétavariables) qui figurent
dans lesexpressions métathéoriques
portant sur lelangage formel,
en cause
(dans
lesrègles
de formation ou dedéduction,
dans lesmétathéorèmes, etc.)
maisseulement les variables
qui
formeraient unecatégorie
desymboles
intérieurs à celangage
formel(2) qu’en
donnant des moyensqui remplacent
les variables on cherche àcomprendre
leur rôle etleur statut, et sans méconnaître la commodité
qu’elles apportent
dansbeaucoup
de cas auxtraitements, (3)
que lalogique
combinatoire aplus généralement
pourobjectif
de reconstruire etd’asseoir les
disciplines
formelles sur des basesoriginales
issues d’uneanalyse
desfacilités,
desprésupposés
et des embarras propres auxlogiques usuelles,
notamment desrègles
desubstitution, qui
sont liées àl’usage
desvariables,
et desparadoxes.
Ellevise,
exactement, àtrouver des
représentations,
pour lelangage qui
est le sien(supposé clarifiant),
de notionslogiques
etmathématiques.
Parsurcroît,
elle obtient aussi desreprésentations
de notions utiles dans les sciences del’homme, principalement
enlinguistique
et enpsychologie.
On peut exposeren six
étapes
ledéveloppement
du programme de lalogique combinatoire,
en commençant par cequ’on
nommera la théorie des combinaisonsapplicatives.
1. THEORIE DES COMBINAISONS APPLICATIVES
Soit donc a,
b,
c,d,...
uneséquence
finied’objets, supposés donnés,
de naturequelconque.
Par
extension,
cetteséquence
pourra n’avoirqu’un
seul élément. Soit aussi uneopération
binaire,
notée"*", employée
de manière infixe et diteapplication.
Un élément de laséquence
peut
êtreappliqué
à un autre, parexemple, a peut
êtreappliqué
àb,
on écrit alors(a*b).
Lesens le
plus général
d’uneexpression
de cette forme estd’indiquer
quel’adjonction
du deuxièmeobjet (celui
dedroite)
aupremier (celui
degauche) produit quelque
effet. Cet effet peut être seulement de constituer de deuxobjets,
àquelque égard,
une totalité(effet
deglobalisation),
mais
l’opération d’application
comportera en outre, comme on le verra, desinterprétations beaucoup plus spécifiées, quand
onquittera
la théorie intuitive des combinaisons. On peutappliquer également
le résultat d’unpremier
usage de"*",
parexemple (a*b),
à un élément dela
séquence,
parexemple
à c, on obtiendra alors((a*b)*c)),
ouappliquer
c à(a*b),
onobtiendra alors
(c*(a*b)), expression
tenue pour distincte de((a*b)*c).
On peutappliquer
enfin le résultat d’un
premier
usage de "*" au résultat d’un deuxième usage de"*",
parexemple (a*b)
à(c*d)
pour obtenir((a*b) *(c*d)) :
autrementdit,
lesexpressions précédemment
formées sont considérées comme des
objets
nouveaux(nous
dironsmolécules,
paropposition
aux
objets
de laséquence qui
sont des"atomes")
et lesparenthèses
traitentl’expression
enclosecomme un
objet unique.
Uneexpression
entreparenthèses
résultant del’emploi
del’opérateur
"*" entre deux
opérandes (objets atomiques
oumoléculaires)
est nommée combinaisonapplicative.
On dira souvent parellipse
combinaisonpuisque l’application
est la seuleopération
considérée. Par
extension,
un élémentunique
sera dit aussi combinaison. Onpeut
fournir une définition inductive duconcept
de combinaisonapplicative :
5 Bien sûr, on peut aussi s’interroger sur la nature des entités
qui correspondent
aux constantes mais leproblème est très différent de celui qui porte sur les variables. Il semble naturel de considérer que ce qui est un objet doit être un, selon une
expression
de Leibniz, s’énoncer par une constante, même si laquestion
de savoirquelle
est la nature de cetobjet
demeure ouverte : existant réel dans un mondetransspatial
et éternel, existantmental, et comme état de conscience, ou comme idée d’un entendement divin, ou a
priori
de la pensée, ouidentifiable à n’importe quelle réalité du monde
physique
qui produit le même effet, possède les mêmes propriétés,à des différences
près,
jugées dans un cas donné horssujet,
etc..Soit une
séquence
donnéed’objets quelconques : a, b,
c,...(a) chaque
élément de laséquence
est(aussi)
une combinaisonapplicative,
(b)
si deuxexpressions
el,e2 sont des combinaisonsapplicatives (distinctes
ounon) (~7
*e2)
est une combinaisonapplicative,
(c)
rien d’autre n’est une combinaisonapplicative.
Sur la
séquence a,b
lespremières
combinaisonsapplicatives
sontdonc : a ; b ; (a*a) ; (a*b) ; (b*a) ; (b*b) ; (a *(a*a)) ; (a *(a*b)) ;
etc.Par abus de
langage,
on sous-entendral’opérateur "*" : (a*b j
deviendra(ab) ; ((a*b) * c)
deviendra
((ab)c) .
Par abus delangage aussi,
onsupprimera
toutepaire
deparenthèses
dontl’élément ouvrant
apparaît
sur lagauche
d’uneexpression,
parexemple (ab)
deviendraab,((ab)c)
deviendra(ab)c,
ou sur lagauche
d’uneexpression déjà
ainsisimplifiée : (ab)c
deviendra
abc,
ou sur lagauche
dans unesous-expression
délimitée par unepaire
deparenthèses
nonsupprimables : (a«bc)d))
devienta((bc)d) puis a(bcd),
et non abcdqui signifierait «(ab)c)d).
Nous dirons que ces conventions sur lasimplification
duparenthésage
forment le
principe (AG)
d’association àgauche
dessymboles.
Nousappellerons parenthèses
déviantes les
parenthèses
nonsupprimables
par(AG),
celles dea(bc)
parexemple.
Nousdirons en écriture
simplifiée
lesexpressions qui
résultent de lasuppression
de "*" et del’emploi
de
(AG).
Notonsqu’on pourrait
éviter touteparenthèse
si on conservait "*" dans lesexpressions
et si on l’utilisait de manièrepréfixée : a(bc)
s’écrirait*a*bc,
abc s’écrirait**abc,
voire*2abc. Toutefois,
nous n’utiliserons pas ici ce moded’expression,
maisl’écriture dite
plus
hautsimplifiée.
Une combinaison ne
peut
pas utiliser d’autresobjets
que ceux de laséquence
mais ellepeut :
1. ne pasprélever
un ouplusieurs objets
de laséquence (b
est une combinaison sur laséquence a,b) ;
on dira éliminer un ouplusieurs objets,
2.
employer plusieurs
fois unobjet unique
de laséquence (bb
est unecombinaison) ;
on diradupliquer
unobjet,
3.
prélever
dans un autre ordre que celui de laséquence
deuxobjets
de laséquence (former
basur la
séquence a,b) ;
on dira permuter deuxobjets,
4. associer deux
objets contigus quelconques
de laséquence,
en lesgroupant
par desparenthèses (sur
laséquence a,b,c,a(bc)
est unecombinaison) ;
on dira composer deuxobjets,
5.
reproduire
sans modification laséquence,
cequi
arrivequand
laséquence comporte
un seulobjet (la séquence a
et la combinaison a seconfondent) ;
on diraidentifier l’objet
de laséquence (s’il
y aplusieurs objets
dans laséquence,
la combinaison nereproduit jamais
sansmodification la
séquence puisque
celle-cicomporte
alors desvirgules (extrathéoriques), lesquelles
nepeuvent
se trouver dans unecombinaison).
Ces
cinq transformations,
définies ici sur les atomes, doiventpouvoir
porterégalement
surles combinaisons ainsi
obtenues,
c’est-à-dire sur les molécules(on
pourra, parexemple,
permuter ab et
cd).
Il s’ensuit que toute combinaison
applicative
est leproduit
d’une ou deplusieurs
éliminations, duplications, permutations, compositions,
identifications desobjets
d’uneséquence
donnée et éventuellement de certaines de leursmolécules,
àquelque
rang que ce soit de laséquence
ou de la combinaisondéjà
obtenue.On
appellera
suite d’atomes(en abrégé
suitequand
iln’y
a pasd’équivoque
àcraindre)
toute combinaison d’atomes
qui; exprimée
en écrituresimplifiée,
necomporte
aucuneparenthèse,
c’est-à-dire où les éléments sont seulementjuxtaposés :
abcd... pour(...(((ab)c)d)...).
Parextension,
un élémentunique
sera ditégalement
suite. Onprendra
soinde
distinguer
laséquence a,b,c,...
ensemble desobjets donnés,
et la suite abc...qui
est unecombinaison
applicative.
Lajuxtaposition
deséléments n’indique
pas leursimple
coexistence.Celle-ci est
marquée
par lessymboles extra-théoriques
que sont lesvirgules6.
Dans cette
première approche,
toute combinaison desobjets
d’uneséquence
est donc obtenue par des successionsd’emploi
direct de "*" sur des atomes choisis ou sur des moléculesdéjà
formées. Si la
séquence
esta,b,c,
parexemple,
et si J~ combinaison à obtenir esta(bc),
il suffitde
prélever
b et c dans laséquence, d’appliquer
b à c, cequi
obtientbc,
deprélever
a dansla
séquence, d’appliquer a
àbc,
cequi
obtienta(bc j.
D’une manièrecomparable,
on obtiendrapar
exemple,
acb.Lorsqu’on procède ainsi, cependant,
ou bien les démarches demeurent intuitives et nonformulées,
ou bien elles sontformulées,
comme on vient de lefaire,
dans unelangue
informelle.Or,
il est intéressant d’identifier la totalité des démarchesrequises
pour obtenir toutes les combinaisonspossibles
àpartir
d’uneséquence
donnée. On va lefaire,
pour commencer, en sedonnant des
opérateurs qui
auront pouropérandes
des éléments de laséquence
et pour résultante la combinaison à former. On ne devra pas sedonner, toutefois,
unopérateur
parséquence
et parcombinaison,
cequi
redoublerait stérilement lespratiques,
il faudra identifier un ensemblefini,
aussipetit
quepossible, d’opérateurs
suffisants. C’est ainsiqu’à
propos dupremier exemple donné,
onpourrait
concevoir d’obtenir la combinaisona(bc)
de laséquence a,b,c
par unopérateur,
disonsB’,
tel queB’(a,b,c)
ùa(bc),
et en introduisant par une flèche la résultante d’unopérateur portant
sur laséquence
à n élémentsqui
lui convient parhypothèse.
De la mêmefaçon,
à propos du deuxièmeexemple,
onpourrait
se donner un autreopérateur,
disonsC’,
telque
C’(a,b,c)
ù acb.On aurait aussi parexemple l’(a)
ùa7.
Leproblème
resterait de savoir siB’, C’,
I’ feront ou nonpartie
desopérateurs qui
seront ultimement retenus, mais ils’agirait
au moins de lapremière étape
de la recherche. On écrirait doncB’(a,b,c), C’(a,b,c), I’(a)
comme on écritf(a,b,c), f(a)
pour des fonctions données etrespectivemnt
à troisarguments
ou à unargument.
On a bien affaire à desfonctions, d’ailleurs, puisque
la résultanteexprime
la transformée parB’,
et parC’,
dea,b,c,par
I’ de a(au
lieud’opérandes
on peut donc direarguments).
D’autre part, afin de convenir à touteséquence,
on posera :B’(x,y,z)
->
x(yz) ;
3C’ (x,y,z)
-~ xzy ;l’(x)
-> x; x,y,z étant des métavariablesdésignant
unobjet quelconque, atomique
ou moléculaire(à partir d’ici,
selon le contexte, x,y,... sont les variablesusuelles,
parexemple, numériques,
ou les métavariablesd’objets quelconques
propres à lalogique combinatoire).
C’est toutefois différemment que lesopérateurs
vont se trouver écrits etpensés,
en utilisant une méthode de Schônfinkelqui présentera
de nombreuxavantages.
Cette méthode consiste à montrer
qu’on
a seulement besoin des fonctions à un argument(ou
desopérateurs
à uneopérande)
et à éliminer à leurprofit
toutes les fonctions(ou
tous les6 On voit que dans cette théorie il
s’agit
bien de combinaison au sens usuel du terme dans lapensée
commune,c’est-à-dire de
procédés
pour former un nouveau tout en associant des éléments (ou de résultats de ces procédés).Les combinaisons obtenues correspondent à l’une des deux formes possibles de ces combinaisons usuelles : celle dans laquelle les éléments demeurent invariants dans le tout formé, comme les lettres dans un mot, par
opposition
à celle dans
laquelle
l’identité des élémentsdisparaît
ou se modifie, comme dans lessynthèses chimiques
ou dansles Gestalts
psychologiques.
On se gardera de confondre cequi
est connu dans la littérature sous les noms delogique
combinatoire etd’analyse
combinatoire, même si lescritiques
queHegel
a adressées à la seconde(incriminant, en bref, une
incapacité
à traiter des combinaisons ’, la deuxième forme) ont sans doute une valeurcomparable,
maisqu’on
ne peut discuter ici, àl’égard
de lapremière discipline.
7 Si du moins on accepte que ces opérateurs
puissent
obtenir en un seul coup cequi exige
dans l’obtention réelle de la combinaison (même pour I’) plusieurs actes : prélèvement d’un objet puis d’un autre, application del’un à l’autre, etc., ce qui semble admissible puisque ces actes sont nécessaires pour chaque cas.
opérateurs) qui
enexigent davantage.
Commef ’(x,y),
parexemple, signifie f ’* (x,y) if ’
sur x,y obtient
quelque effet)
si au lieud’appliquer f ’
à(x,y),
c’est-à-dire de faire un usageunique
de"*",
on en fait deux usages, on pourra obtenir un effetidentique
à celui def ’
enutilisant seulement des fonctions
unaires ; f ’* (x,y)
se comporte comme le ferait une fonctionf
unairequi, appliquée
à x, c’est-à-dire(f * x), correspondrait
à son tour à une fonctionunaire,
disonsf ",
définie comme obtenant parhypothèse, quand
onl’applique
à y, cequ’obtient f ’(x,y).
Autrementdit,
sans marquerl’opérateur "* ", f ’(x,y)
peut secomprendre
comme
(fx)y, qu’on
peut écrire par(AG) fxy.
On voit que *, dans un sensplus précis, correspond
àl’application
d’une fonction unaire à son argument, à la transformationapportée par f à
x. On raisonnerait de la mêmefaçon
pour éliminer deproche
enproche
les fonctions àplus
de deux arguments.Cette
analyse,
en outre, vaut pour les relations du calcul desprédicats,
et met sur la voied’une autre formalisation
possible
dulangage
naturel : rxy, x estpère de
y, y a pourpère
x,sera
compris
comme(rx)y,
où rx est conçu comme leprédicat
unairequ’il
faut attribuer à y pour que rxy, en l’occurrence leprédicat ... avoir-pour-père-x ;
r lui-même étant leprédicat
unaire
qu’il
faut supposerappliqué
à x pour obtenir rx,qu’il
fasse ou non défaut enfrançaise
8Il s’ensuit que les
opérateurs B’(x,y,z), C’(x,y,z), l’(x)
deviendrontrespectivement Bxyz, Cxyz, Ix,
commef’(x,y,z)
devientfxyz,
commef (x)
devientfx.
On aura donc :Bxyz -~ x(yz) ; C xyz ù
x z y;Ix ---> x. B, C, I
seront nommés combinateurs.L’introduction des combinateurs constitue ce
qu’on
nomme la théorie intuitive des combinateurs.2. THEORIE INTUITIVE DES COMBINATEURS
Comme on
doit,
biensûr, comprendre
1 etc.chaque
combinateur est donc en réalité un
opérateur unaire,
comme 1 l’estévidemment,
bienqu’il
restecommode de décrire B et C comme des
opérateurs
à trois arguments. Si laséquence
esta,b,c
et si on écrit Babc on dira que Bporte
sur la suiteabc,
mais Bs’applique
en réalité sur lepremier
élément de la
séquence,
choisi comme suite à unélément, puis
Bas’applique
sur le deuxième élément de laséquence,
choisi comme une autre suite à unélément,
etc.. En touterigueur, d’ailleurs,
il n’est pas nonplus
correct à notreavis,
mais il estégalement
commode et courant,de
désigner B, C,
1 comme desopérateurs : B, C,
1 n’ont pasd’effet,
seulel’application
à unargument de
B,
deC,
deI,
parexemple B*a, C*a,
I*a(même
si "*" estsous-entendu) possède
un effet. Iln’y
aqu’un
seulopérateur (qu’une
seuleopération)
et c’estl’application.
Un
langage qui
necomporte
ainsi que cette seuleopération
est ditlangage applicatif.
Onpeut
réduire toutlangage
comportant un certain nombred’opérations (par exemple,
+ et x,c’est-à-dire A’et M’en notation
préfixée)
à unlangage applicatif,
enprocédant
comme on8 On notera que cette réduction des relations aux
prédicats
unaires est fort différente de celleopérée
par lalogique classique qui
comprenait x
est père de y comme la qualification de x par l’attributétant-père-de-y, grâce
à la
copule
est. Il nes’agit
plus de résorber les relations dans une logique des propriétés, ils’agit
d’unedécomposition qui
a par construction le même effet que la relation proprement dite. En revanche, * demeure une opération binaire, même écrite de manièrepréfixe,
(*a)b semblant perdre tout intérêt. Ajoutonsqu’à
la composition du calcul desprédicats
(est père x de) y la grammaireapplicative
substitue (est père de y j x, pour raisonslinguistiques.
vient de le faire
surf ’, B’, C’,
l’.A’xy
etOxy
deviendrontrespectivement (A*x) *
y et(M
*x)
* y, soit encoreAxy et Mxy. Soit,
d’une manièregénérale,
uneopération
n-aire0’n
telle que0 n(xl,
...,xj,
on éliminera0’n
en laremplaçant
parl’opération
unaire 0 telleque
(...((G
*xi)
*x2)...
*xn),
c’est-à-dire0 xl x2."
xn. Cette méthode est mise en oeuvrepar la
logique
combinatoirequand
elles’occupe
de formaliser des théories. L’élimination des variables n’est donc pas la seule des réductionauxquelles
elleprocède.
Formulés dans le
langage
commodeaccepté précédemment,
B effectue donc une descompositions possibles,
celle du 2e et du 3e élément de lasuite,
C effectue une despermutations possibles,
celle du 2e et du 3e élément de lasuite,
1 effectue l’identification del’unique
élémentd’une suite. On constate que ces combinateurs laissent invariant leur
premier (ou unique)
argument.
Il reste donc à introduire semblablement un combinateur effectuant une desrépétitions possibles,
celle du 2e élément de lasuite,
on posera :Wzy ù
xyy, et un combinateur effectuant une des éliminationspossibles,
celle du 2e élément de lasuite,
on posera :Kw ù
x. Ces
cinq combinateurs,
dits combinateursélémentaires,
serontplacés
dansl’ordre,
ditnormal :
I, K, W, C,
B. Comme chacun n’effectue son effetqu’à
un certain rang et pour une suite d’unelongueur donnée,
il restera à montrer comment onpeut
pour une suite et à un rangquelconques, éliminer, dupliquer,
etc.. Toutlangage
combinatoirequi
le permettra sera alors combinatoirementcomplet,
c’est-à-dire donnera les moyens d’obtenir toutes les combinaisonsapplicatives qu’on peut
former àpartir
d’une suite donnée. Il se trouvequ’on
sait construire unlangage
formelexprimant
la théorie intuitive des combinateurs.a.
Langage
combinatoire LSoit donc L ce
langagé
dontl’alphabet
comporte les données suivantes :- un ensemble E infini dénombrable d’éléments :
~~c,~/~A~...A~~... (qui
sont ditsdes
indéterminées), 1, K, W, C,
B(qui
sont dits combinateursélémentaires),
- une
opération
binaire : *(dite application),
- une relation binaire : =
(dite égalite~,
- une relation binaire : -~
(dite réductibilite’),
- deux
symboles
deponctuation : (,) (dites parenthèses).
Les mots
français,
lesvirgules,
lespoints
desuspension,
etc.n’appartiennent
pas aulangage
formel
lui-même,
mais à lamétalangue,
c’est-à-dire à lalangue
utilisée(la langue U,
ditCurry)
pour
présenter
lalangue
formelle.Appartiennent
aussi à lamétalangue
les variablesintuitives,
oumétavariables : x,y,z,..., ces mêmes lettres avec
apostrophes
ou indicesnumériques.
Lesrègles
de formation des termes et des formules de L sont les suivantes :
RF 1
tout élément de E est un termeRF2
si x et y sont des termes,(x*y)
est un termeRF3
rien d’autre n’est un termeRF4
si x et y sont des termes, x = y et je -> y sont des formulesRF5
rien d’autre n’est une formule.On admettra les mêmes licences que dans la théorie intuitive des combinaisons
applicatives : suppression
de"*", principe (AG),
etc..Le mot terme a été choisi de
préférence
au mot combinaison pour utiliser une formulation aussi peudépendante
quepossible
d’uneinterprétation particulière,
comme dans toutlangage
formel,
mais les termes enquestion
seront bien pour nous les combinaisons dont on a traitéprécédemment.
Il faut remarquer,toutefois,
que les combinaisons ne sontplus
seulement desassemblages
de lettres minuscules. Desmajuscules
peuvent aussi entrer dans lescombinaisons,
soit comme la
totalité,
soit comme unepartie
des éléments combinés. Les combinateurs eux- mêmes se traitent comme desobjets (c’est pourquoi
lesmajuscules
et les minusculesfigurent
dans le même
ensemble).
La raison de cette mesure est claire : lescombinateurs,
comme on l’adit,
ne sont pas, en touterigueur,
desopérateurs.
Réduits àeux-mêmes,
ils sont inertes et donc desimples éléments ;
ils n’ont d’effet que commepremier
argument de *. C’est I *aqui agit
etnon I. K est ainsi une combinaison au même titre que a, KI au même titre que
ab, KI(CW)
aumême titre que
ab(cd),
et ainsi touteexpression
bien forméecomportant
à la fois desmajuscules
et des
minuscules,
comme KaWbI.Curry
oppose les indéterminées(ou objets quelconques)
à la fois aux variablessubstitutives,
c’est-à-dire libres et pourvues d’une
règle
desubstitution,
et aux variablesliées,
deux sortes devariables dont
déjà
L s’affranchitpuisqu’il n’emploie
pas derègle
de substitution nid’opérateur
comme
V,
3 rendant la valeur de la formuleindépendante
de la valeur de la variable affectée.On notera aussi
qu’il
y a désormais deuxcatégories d’expressions
bien formées : celles des termes, c’est-à-dire dessymboles désignant
desobjets,
et celles desformules,
c’est-à-dire des énoncés(vrais
oufaux)
sur lesobjets.
En ce sens, lalogique
combinatoire est bien un calcul"propositionnel",
à samanière,
mais sur une base fort différente des calculs traditionnels. On peut établir formellement que telle ou telleexpression,
terme(t)
ou formule(f),
est bien formée.Ainsi
a(Ib), exprimé
exactementcomme (a * (I*b)),
est un terme car : .(a * (I * b) ) ~ a, (a* (I * b))
= a sont des formules parRF4
sur(5)
et(1).
Direqu’une expression
est bien formée nesignifie
pasqu’elle
est vraie.A chacun des
cinq
combinateurs élémentaires est associée unerègle (dite
de récriture ou deréduction) qui exprime
la transformationqu’il
fait subir à une certaine suite.Nous
appellerons
cesrègles (Comb).
Ellespeuvent
êtrecomprises
sur le modèle des instructions utilisées dans un programmeinformatique.
Leurexpression permet
à un combinateur des’appliquer
àlui-même,
on a parexemple, WWa,
ou à un combinateurdifférent,
WKa parexemple, puisque chaque
combinateur est donné comme portant sur une suited’objets quelconques.
Nous poserons :je -~ y est une formule vraie si y s’obtient de x par les
règles (Comb).
Sont ainsi des formules vraies