Faculdade de Ciˆencias
Departamento de Matem´
atica
Normaliza¸
c˜
ao de Termos no C´
alculo dos
Combinadores
Renata Maria Machado Teixeira
Mestrado em Matem´
atica
( ´
Algreba, L´
ogica e Fundamentos)
Faculdade de Ciˆencias
Departamento de Matem´
atica
Normaliza¸
c˜
ao de Termos no C´
alculo dos
Combinadores
Renata Maria Machado Teixeira
DISSERTAC
¸ ˜
AO
Disserta¸c˜ao orientada pelo Prof. Doutor Fernando Jorge Inocˆencio Ferreira
Mestrado em Matem´
atica
( ´
Algreba, L´
ogica e Fundamentos)
Sincero e justo ´e, em primeiro e indiscut´ıvel lugar, agradecer ao meu orientador, Pro-fessor Doutor Fernando Ferreira, pelo apoio que me deu durante o desenvolvimento deste trabalho. Agrade¸co a disponibilidade e o grande est´ımulo que me concedeu no sentido de avan¸car o presente estudo. Sem este apoio, ´e certo, que este trabalho ainda seria s´o uma ideia.
Expresso a minha particular gratid˜ao `a Professora Doutora Teresa Almada que me incentivou para esta ´area de especializa¸c˜ao.
Ao Conselho Executivo da Escola Secund´aria onde exer¸co fun¸c˜oes pelo apoio quanto `a faculta¸c˜ao de um hor´ario de lecciona¸c˜ao, no ano lectivo 2007/2008, mais organizado, para que nesta ´ultima fase pudesse ter mais tempo dispon´ıvel para a sua finaliza¸c˜ao.
`
A Professora Doutora Margarida Gra¸ca, Coordenadora do Grupo de Matem´atica desta Escola, pela sua compreens˜ao e pelo seu inestim´avel apoio na concretiza¸c˜ao da atribui¸c˜ao do referido hor´ario.
Ao meu cunhado Vitor por estar sempre dispon´ıvel para resolver os meus pro-blemas inform´aticos.
Um agradecimento especial ao meus pais e irm˜aos por sempre me terem apoiado e compreenderem as minhas prolongadas ausˆencias. Ao Nuno pelo grande apoio, paciˆencia, boa companhia e amizade.
Neste trabalho apresenta-se um estudo cl´assico do C´alculo dos Combinadores N˜ao Tipado e Tipado e aborda-se ainda o C´alculo T de G¨odel como uma extens˜ao do C´alculo dos Combinadores Tipado. No C´alculo dos Combinadores N˜ao Tipado prova-se que ´e v´alido o Teorema de Church-Rosser e que existem alguns resultados n˜ao decid´ıveis, como saber se um termo admite ou n˜ao forma normal. Para o C´alculo dos Combinadores Tipado mostra-se que tamb´em ´e v´alido o Teorema de Church-Rosser e que esta teoria satisfaz o Teorema da Normaliza¸c˜ao Forte. Prova-se que estes dois ´ultimos Teoremas tamb´em s˜ao satisfeitos pelo C´alculo T de G¨odel.
PALAVRAS-CHAVE:
Combinadores. C´alculo Lambda. Teorema de Church-Rosser. Normaliza¸c˜ao. C´alculo T de G¨odel.
This thesis presents a classical study of the Untyped and Typed Combinatory Calculus; furthermore, it studies G¨odel´s T Calculus as an extension of the Typed Combinatory Calculus.
Regarding the Untyped Combinatory Calculus, this work proves that the Church-Rosser Theorem is valid and some undecidability results (e.g., it is undecidable whether a term admits a normal form).
As far as the Typed Combinatory Calculus is concerned, not only the Church-Rosser Theorem is valid but it also enjoys the propriety of Strong Normalization. This is also the case for G¨odel´s T Calculus. Herein, we prove these Theorems.
KEYWORDS:
Combinators. Lambda Calculus. Church-Rosser Theorem. Normalization. G¨odel T Calculus.
Lista de Figuras ix
1 Introdu¸c˜ao 1
1.1 Brev´ıssima Nota Hist´orica . . . 1
1.2 Resumo da Disserta¸c˜ao . . . 2
2 C´alculo de Combinadores N˜ao Tipado 4 2.1 L´ogica de Combinadores N˜ao Tipada. Redu¸c˜ao. . . 5
2.2 Termo em forma normal. Redu¸c˜ao de um termo a forma normal. . . . 10
2.3 Teorema de Church-Rosser . . . 13
2.4 Teorema do Ponto fixo . . . 19
2.5 C´alculo Lambda . . . 22
2.6 O Poder do C´alculo de Combinadores . . . 28
2.6.1 Representa¸c˜ao dos N´umeros Naturais . . . 29
2.6.2 Representa¸c˜ao das Fun¸c˜oes Parciais Recursivas. . . 30
2.7 Alguns Resultados Indecid´ıveis . . . 40
3 C´alculo de Combinadores Tipado 46 3.1 Termos da L´ogica Combinat´oria Tipada. Redu¸c˜ao. Teorema de Church-Rosser . . . 47
3.2 Teorema da Normaliza¸c˜ao . . . 53
4 C´alculo T de G¨odel 59 4.1 Termos do C´alculo T de G¨odel. Redu¸c˜ao. . . 59
4.2 Teorema de Church Rosser . . . 63
4.3 Teorema da Normaliza¸c˜ao . . . 65
A Fun¸c˜oes Parciais Recursivas 70
B Demonstra¸c˜ao do Teorema da Redu¸c˜ao Mais `a Esquerda 75
Bibliografia 80
2.1 Uma representa¸c˜ao pict´orica da Propriedade do Losango . . . 14 2.2 Uma representa¸c˜ao pict´orica do Exemplo 17 al´ınea 1) . . . 15 2.3 Uma representa¸c˜ao pict´orica do Exemplo 17 al´ınea 2) . . . 15
Introdu¸
c˜
ao
1.1
Brev´ıssima Nota Hist´
orica
Por volta da segunda metade do s´eculo XIX o conceito matem´atico de fun¸c˜ao atingiu um ponto em que a nota¸c˜ao standard era amb´ıgua, principalmente em teorias que utilizam operadores funcionais, isto ´e, fun¸c˜oes que admitem outras fun¸c˜oes como argumentos, pois a nota¸c˜ao usual “f (x)” n˜ao faz distin¸c˜ao entre a pr´opria fun¸c˜ao e o valor da fun¸c˜ao quando aplicado a um determinado argumento.
Por exemplo, consideremos um operador P aplicado a uma fun¸c˜ao f (x) expresso, muitas vezes, por P [f (x)]. Ent˜ao o que significar´a P [f (x + 1)]? Ser´a que determi-namos primeiro g (x) = f (x + 1) e depois P [g (x)]; ou primeiramente determidetermi-namos h (x) = P [f (x)] e seguidamente h (x + 1)? Apesar destes procedimentos levarem ao mesmo resultado para muitos importantes operadores, n˜ao temos o mesmo resultado no caso a seguir apresentado.
Consideremos P [f (x)] = f (x) − f (0) x , se x 6= 0 f0(0) , se x = 0
Ent˜ao, se f (x) = x2 tem-se que P [g (x)] = P [x2+ 2x + 1] = x + 2, h (x) = P [f (x)] = x, e h (x + 1) = x + 1 6= P [g (x)].
Assim, nesta altura procura-se construir um sistema formal que sirva de funda-menta¸c˜ao matem´atica para teorias gerais de fun¸c˜oes e l´ogicas de ordem superior.
Neste sentido, a L´ogica Combinat´oria surgiu no in´ıcio do s´eculo XX, em 1924, com os artigos de Moses Sch¨onfinkel [15] e mais tarde, independetemente, em 1929, com os artigos de Haskell Curry [6] e [7], sendo este o respons´avel pelo seu desen-volvimento at´e 1970. Pela mesma altura e com a mesma inten¸c˜ao, surgiu o C´alculo Lambda com os artigos de Alonzo Church [2] e [3]. Quando Kleene e Rosser [13]
mostraram a inconsistˆencia destas teorias, Curry j´a tinha provado a consistˆencia para a L´ogica Combinat´oria pura [7], isto ´e, o subsistema da teoria apresentada por Curry restrito a combinadores e passou a dedicar-se ao desenvolvimento de teorias consistentes [8] e [9], sem no entanto atingir o objectivo final de fornecer fundamentos adequados para a matem´atica; Church abandonou o programa de fundamentos e ex-traiu a subteoria referente `a parte funcional que hoje corresponde ao que chamamos C´alculo Lambda, cuja a consistˆencia foi mostrada por Church e Rosser [5].
Sch¨onfinkel introduziu a ideia de aplica¸c˜ao e mostrou que a ideia de fun¸c˜ao podia ser alargada de forma que fun¸c˜oes podiam ser argumentos de outras fun¸c˜oes. Intro-duziu algumas constantes especiais, em particular duas designadas por combinadores b´asicos ou primitivos, e mostrou que as f´ormulas l´ogicas podem ser expressas sem vari´aveis e utilizando somente estes combinadores primitivos.
A L´ogica Combinat´oria ´e uma teoria baseada num conjunto de constantes b´asicas, os combinadores primitivos, e na opera¸c˜ao de aplica¸c˜ao. Assim, a sua sintaxe, cujas express˜oes designam-se por termos da l´ogica combinat´oria, ´e bastante simples, tendo uma interpreta¸c˜ao operacional de muito f´acil compreens˜ao.
Al´em da importˆancia destas duas teorias para diversos campos, como a Teoria da Demonstra¸c˜ao e a Teoria da Computa¸c˜ao, elas desempenharam um papel importante na obten¸c˜ao dos primeiros resultados sobre fun¸c˜oes recursivas.
N˜ao podemos deixar de referir que o C´alculo Lambda ´e tamb´em uma teoria que modela fun¸c˜oes e o seu comportamento aplicativo. ´E uma linguagem formal cujas express˜oes designam-se por termos lambda e que na sua sintaxe existe uma opera¸c˜ao designada por abstra¸c˜ao que corresponde `a opera¸c˜ao inversa da aplica¸c˜ao, que implicar´a que um dos conceitos centrais do C´alculo Lambda seja a substitui¸c˜ao, que est´a quase ausente nos sistemas da L´ogica Combinat´oria pois as vari´aveis n˜ao fazem parte da sua sintaxe. Mas mostraremos que qualquer sistema da L´ogica Combinat´oria captura este termo lambda, pelo que estas teorias s˜ao consideradas variantes uma da outra.
1.2
Resumo da Disserta¸
c˜
ao
Apresentamos o sistema formal de termos da L´ogica Combinat´oria pura, isto ´e, o sistema mais simples, sem restri¸c˜oes sint´acticas e complica¸c˜oes, pelo que todas as ideias expostas e resultados apresentados est˜ao na base de qualquer outro sistema.
Ao longo do trabalho a literatura seguida ser´a [12], mas para um leitor mais interessado aconselhamos [8] e [1].
Para a compreens˜ao plena deste trabalho apenas necessitamos que o leitor tenha alguma familiariedade com os conceitos de conjuntos, rela¸c˜oes e fun¸c˜oes, no¸c˜oes e conceitos que abordaremos ao longo do trabalho, sempre que considerarmos
ade-quado, de forma a que o mesmo seja sempre percept´ıvel.
Na L´ogica Combinat´oria existem sistemas n˜ao tipados e tipados. Nos sistemas n˜ao tipados da L´ogica Combinat´oria, nunca se especifica o tipo de qualquer ex-press˜ao. Mais precisamente, n˜ao se espec´ıfica o dom´ınio e contradom´ınio de uma fun¸c˜ao, o que nos garante maior flexibilidade. No entanto, quando tentamos aplicar um argumento a uma fun¸c˜ao pode ser pouco compreens´ıvel a situa¸c˜ao. Nos sistemas tipados est´a sempre bem definido o tipo espec´ıfico de cada express˜ao, pelo que nunca ser´a permitido a aplica¸c˜ao de uma fun¸c˜ao a um argumento que n˜ao seja do mesmo tipo espec´ıfico do dom´ınio da fun¸c˜ao.
No segundo cap´ıtulo apresentamos o sistema mais puro da L´ogica Combinat´oria N˜ao Tipada. Ap´os a introdu¸c˜ao das no¸c˜oes elementares como o conjunto dos ter-mos deste sistema, substitui¸c˜ao, redexe, contrac¸c˜ao, redu¸c˜ao (rela¸c˜ao conhecida por redu¸c˜ao fraca, mas que apenas designamos por redu¸c˜ao pois n˜ao apresentamos mais redu¸c˜oes) e forma normal de um termo, iremos provar que este sistema satisfaz o Teorema de Churh-Rosser, o Teorema do Ponto Fixo e que pode ser visto como induzindo uma variante do C´alculo Lambda. Como abordagem `a computabilidade, mostramos ainda que este sistema representa as fun¸c˜oes parciais recursivas e que ´e indecid´ıvel saber se um termo admite ou n˜ao forma normal.
Quanto ao terceiro cap´ıtulo, apresentamos o sistema puro da L´ogica Combi-nat´oria Tipada. Mostramos que continua a ser v´alido o Teorema de Church-Rosser e provamos o Teorema da Normaliza¸c˜ao, isto ´e, neste sistema n˜ao existem redu¸c˜oes infinitas.
No quarto cap´ıtulo apresentamos o C´alculo T de Godel que n˜ao ´e mais que uma extens˜ao de um sistema puro tipado da L´ogica Combinat´oria. Provamos que os resultados principais do cap´ıtulo antecedente s˜ao tamb´em satisfeitos neste sistema, nomeadamente: adaptamos as provas do Teorema de Church-Rosser e do Teorema da Normaliza¸c˜ao.
C´
alculo de Combinadores N˜
ao
Tipado
Neste cap´ıtulo introduzimos os conceitos b´asicos da L´ogica Combinat´oria e apre-sentamos alguns dos principais resultados desta teoria. Nas primeiras duas sec¸c˜oes, al´em de apresentarmos as no¸c˜oes elementares, tamb´em pretendemos fixar a nota¸c˜ao de forma a tornar a leitura da disserta¸c˜ao independente da literatura seguida e de outras literaturas ou textos. Como principais resultados provamos o Teorema de Church-Rosser e mostramos, apesar da sua simples sintaxe, que este sistema repre-senta as Fun¸c˜oes Parciais Recursivas.
Como forma de motiva¸c˜ao, consideremos a propriedade comutativa da adi¸c˜ao na aritm´etica. Esta propriedade pode ser expressa por:
∀x, y (x + y = y + x)
Mas tamb´em podemos indicar esta propriedade sem recorrer `as vari´aveis x e y. Para tal, definimos
A (x, y) = x + y (para quaisquer x e y) e introduzimos um operador C definido por
(Cf ) (x, y) = f (y, x) (para quaisquer x e y) Assim, a propriedade comutativa fica simplesmente
A = CA O operador C designa-se por combinador.
2.1
L´
ogica de Combinadores N˜
ao Tipada. Redu¸
c˜
ao.
Nesta sec¸c˜ao apresentamos o sistema formal de termos da L´ogica Combinat´oria. Este sistema ser´a o mais simples poss´ıvel, sem restri¸c˜oes sint´acticas e complica¸c˜oes, sendo, no entanto, as ideias expostas comuns a qualquer outro sistema.
Os objectos de estudo da L´ogica Combinat´oria s˜ao os termos combinat´orios.
Defini¸c˜ao 1 (Termos da l´ogica combinat´oria ou termos-LC)
Assumamos que nos ´e dada uma sequˆencia finita de s´ımbolos, designados por vari´aveis, e uma sequˆencia finita ou infinita de s´ımbolos a que chamamos constan-tes, na qual constam duas constantes denominadas por combinadores b´asicos: Q e P. Em particular, um sistema com apenas estes dois combinadores b´asicos como constantes diz-se um sistema puro, caso contr´ario sistema aplicado.
O conjunto dos termos da L´ogica Combinat´oria, ou simplesmente termos-LC ´e definido indutivamente da seguinte forma:
a) Todas as vari´aveis e constantes s˜ao termos-LC;
b) Se X e Y s˜ao termos-LC, ent˜ao (XY ) ´e um termo-LC o qual se denomina por aplica¸c˜ao.
Chamamos ´atomo a uma vari´avel ou a uma constante. Designamos por ´atomo n˜ao-redexe um ´atomo diferente de Q e de P. Em particular, uma constante n˜ao-redexe ´e uma constante diferente de Q e de P. Um termo diz-se um termo fechado se ´e um termo que n˜ao cont´em vari´aveis. Um combinador ´e um termo cujos ´unicos ´atomos s˜ao Q e P. (Num sistema puro ´e o mesmo que afirmar que ´e um termo fechado.)
Exemplo 2 ((P (Q P)) Q) e ((P (Q x)) ((P Q) Q)) s˜ao termos-LC; em parti-cular, o primeiro termo ´e um combinador.
Ao longo deste cap´ıtulo as letras mai´usculas denotar˜ao quaisquer termos-LC. Tamb´em ao longo deste documento, as letras x, y, z, u, v, w representar˜ao vari´aveis e vari´aveis distintas ser˜ao representadas por letras diferentes.
De forma a n˜ao sobrecarregar a nota¸c˜ao, os parˆentesis ser˜ao omitidos de tal forma que, por exemplo, “M N P Q” denotar´a (((M N ) P ) Q). Esta conven¸c˜ao ´e designada por associa¸c˜ao `a esquerda.
A identidade sint´actica dos termos ser´a denotada por “≡”. Por exemplo, M ≡ N significa que M ´e exactamente o mesmo termo-LC que N . Refira-se que o s´ımbolo “=” ser´a utilizado para a igualdade de objectos que n˜ao s˜ao termos-LC.
Tamb´em assumiremos que as trˆes classes de termos (vari´aveis, constantes e aplica¸c˜oes) n˜ao tˆem elementos comuns.
Mais, ao referirmos “termo” significar´a termo-LC.
Intuitivamente, a aplica¸c˜ao (M N ) ´e interpretada como a aplica¸c˜ao de um argu-mento N `a fun¸c˜ao representada pelo termo M . Claro para que esta interpreta¸c˜ao tenha sentido ´e necess´ario que M seja um termo-LC que represente uma fun¸c˜ao; considera-se (por constru¸c˜ao) que (M N ) ´e sempre um termo-LC quaisquer que se-jam os termos-LC M e N .
Tendo em conta a interpreta¸c˜ao informal, esperan¸cosamente pensamos estar nada mais do que a “calcular” com os termos e porquanto apenas necessitamos de subs-tituir termos por vari´aveis. ´E verdade! No entanto, antes de introduzirmos formal-mente este conceito, precisamos de apresentar mais duas no¸c˜oes.
Defini¸c˜ao 3 O comprimento de um termo X, ou comp (X), ´e o n´umero de ocorrˆencias de um ´atomo em X:
a) comp (a) = 1 em que a ´e um ´atomo. b) comp (U V ) = comp (U ) + comp (V ) .
Defini¸c˜ao 4 A rela¸c˜ao X ocorre em Y ou X ´e subtermo de Y ´e definida indu-tivamente da seguinte forma:
a) X ocorre em X;
b) Se X ocorre em U ou em V , ent˜ao X ocorre em (U V ).
As vari´aveis que ocorrem num termo denominam-se por vari´aveis livres e representamos o conjunto de todas as vari´aveis livres que ocorrem num termo X por V L (X).
H´a que referir que, de acordo com a abreviatura estipulada para a utiliza¸c˜ao dos parˆentesis, ´e necess´ario um certo cuidado para averiguar se um termo ocorre noutro termo. Por exemplo, consideremos o termo ux (yz). Apesar de parecer que o
termo x (yz) ´e subtermo de ux (yz), isto n˜ao ´e de facto verdade pois, n˜ao omitindo os parˆentesis, tem-se que ux (yz) ´e ((ux) (yz)).
Estas no¸c˜oes ser˜ao agora utilizadas para definir a importante opera¸c˜ao de subs-titui¸c˜ao.
Defini¸c˜ao 5 A substui¸c˜ao de todas as ocorrˆencias de uma vari´avel x por um termo-LC U no termo-termo-LC Y denota-se por Y [U/x], isto ´e, indutivamente sobre a estrutura de Y :
a) x [U/x] ≡ U ;
b) a [U/x] ≡ a, com a um ´atomo distinto de x; c) (V W ) [U/x] ≡ (V [U/x]) (W [U/x]) .
Ainda, para quaisquer U1, ..., Un e quaisquer x1, ..., xn mutuamente distintos,
de-finimos Y [U1/x1, ..., Un/xn] como sendo o termo resultante de substituir
simultane-amente U1 por x1, U2 por x2, ..., Un por xn em Y .
Refira-se que no termo Y [U1/x1, ..., Un/xn] , a condi¸c˜ao de ser simultˆanea a
subs-titui¸c˜ao das vari´aveis ´e de facto necess´aria e bem distinta de fazermos a substitui¸c˜ao de uma forma sucessiva como se pode observar pelo seguinte exemplo:
(xy) [y/x, x/y] ≡ yx (xy) [y/x] [x/y] ≡ xx.
Na verdade, tem-se que Y [U1/x1, ..., Un/xn] ≡ Y [U1/x1] ... [Un/xn] quando ∀i =
1, ..., n (x1, ..., xi−1 n˜ao ocorrem em Ui).
De seguida apresentamos um Lema a ser utilizado posteriormente. Este Lema descreve a estrutura do termo resultante ap´os a substitui¸c˜ao de uma vari´avel por um termo.
Lema 6 Seja M um termo, arbitr´ario. a) M [x/x] ≡ M ;
b) x /∈ V L(M ) =⇒ M [N/x] ≡ M ;
d) comp (M [y/x]) = comp(M ).
Demonstra¸c˜ao. Trivial
At´e agora pouca importˆancia foi dada aos combinadores b´asicos. Contudo, estas constantes desempenham um papel fundamental no processo de “simplifica¸c˜ao” de um termo, como veremos de seguida.
Defini¸c˜ao 7 Qualquer termo da forma Q XY e P XY Z ´e designado por redexe. Contrair uma ocorrˆencia de um redexe num termo, digamos U , significa subs-tituir, em U , a ocorrˆencia:
Q XY por X,
P XY Z por XZ (Y Z) .
Se U muda para U´ap´os a contrac¸c˜ao de um redexe, dizemos que U ´e contra´ıdo em U´ ou U´´e uma contrac¸c˜ao de U e escrevemos U →w U´.
Diz-se que U reduz-se a V ou V ´e uma redu¸c˜ao de U , e denota-se por U w V ,
se V ´e obtido de U por uma s´erie finita (talvez vazia) de contrac¸c˜oes, pelo que w
´e o fecho reflexivo e transitivo de →w .
Nota 8 Seja R uma rela¸c˜ao bin´aria do conjunto dos termos-LC.
O fecho reflexivo de uma rela¸c˜ao R ´e a menor rela¸c˜ao R= que satisfaz:
1) P RM =⇒ P R=M ;
2) P R=P.
O fecho transitivo de uma rela¸c˜ao R ´e a menor rela¸c˜ao R∗ que satisfaz: 1) P RM =⇒ P R∗M ;
2) P R∗M e M R∗N =⇒ P R∗N.
Exemplo 9 Nas trˆes redu¸c˜oes seguintes, indica-se o redexe a ser contra´ıdo sublinhando-o.
a) Para I ≡P Q Q, tem-se que IX w X, para todo X, pois:
IX ≡ P Q Q X
→ w Q X (Q X)
→ w X
Daqui em diante, o combinadorP Q Q ≡def I e denominamo-lo por combinador
identidade.
b) Consideremos B ≡P (Q P) Q.
Ent˜ao BXY Z w X(Y Z) uma vez que:
BXY Z ≡ P (Q P) Q XY Z
→ w Q P X (Q X) Y Z
→ w P (Q X) Y Z
→ w Q XZ (Y Z)
→ w X (Y Z)
c) Se W ≡P P (Q I) (em que I ≡ P Q Q), ent˜ao W XY w XY Y para
quais-quer X e Y : W XY ≡ P P (Q I) XY → w P X Q IXY → w P XIY → w XY (IY )
w XY Y por aplica¸c˜ao de a).
Antes de terminarmos esta sec¸c˜ao, apresentamos o seguinte Lema.
Lema 10 (Lema da substitui¸c˜ao para a redu¸c˜ao) Se X w Y , ent˜ao:
a) v /∈ V L(X) =⇒ v /∈ V L(Y ); b) Z [X/v] w Z [Y /v] ;
Demonstra¸c˜ao.
a) Se v /∈ V L(Q W V ), ent˜ao v /∈ V L(W ); Se v /∈ V L(P W V U ), ent˜ao v /∈ V L(W U (V U )). Informalmente, esta afirma¸c˜ao diz-nos que nenhuma vari´avel nova ´e introduzida durante a redu¸c˜ao.
b) Por indu¸c˜ao sobre a estrutura de Z : Caso 1) Se Z ≡ v:
Z [X/v] ≡ v [X/v] ≡
defini¸c˜ao 5 a)X w Y defini¸≡c˜ao 5 a)v [Y /v] ≡ Z [Y /v]
Caso 2) Se Z ≡ a com a um ´atomo distinto de v: Z [X/v] ≡ a [X/v] ≡
defini¸c˜ao 5 b)a w adefini¸c˜≡ao 5 b)a [Y /v] ≡ Z [Y /v]
Caso 3) Se Z ≡ U V :
Z [X/v] ≡ (U V ) [X/v]
≡ (U [X/v]) (V [X/v]) (defini¸c˜ao 5 c))
w (U [Y /v]) (V [Y /v]) (Hip´otese de indu¸c˜ao)
≡ (U V ) [Y /v] (defini¸c˜ao 5 c)) ≡ Z [Y /v] .
c) Ora se X ≡Q V W , ent˜ao Y ≡ V e tem-se:
X [U1/x1, ..., Un/xn] ≡ (Q V W ) [U1/x1, ..., Un/xn]
≡ Q (V [U1/x1, ..., Un/xn]) (W [U1/x1, ..., Un/xn])
pela defini¸c˜ao 5 al´ıneas b) e c) → w V [U1/x1, ..., Un/xn]
≡ Y [U1/x1, ..., Un/xn]
Para X ≡P V W T a demonstra¸c˜ao ´e an´aloga.
2.2
Termo em forma normal.
Redu¸
c˜
ao de um
termo a forma normal.
Pelo exemplo 9 observamos que o processo de “simplifica¸c˜ao” termina quando ob-temos um termo que n˜ao cont´em redexes, pelo que faz todo o sentido apresentar a seguinte defini¸c˜ao:
Defini¸c˜ao 11 Um termo que n˜ao cont´em redexes diz-se estar em forma normal. Se existir uma redu¸c˜ao de M , M w N , tal que o termo N est´a em forma normal,
an´alogo a afirmar que M admite forma normal, ou N ´e a forma normal de M.
De acordo com a defini¸c˜ao acima, os trˆes termos que constam no exemplo 9 admitem forma normal, pelo que s˜ao normaliz´aveis.
Ser´a ent˜ao que todos os termos s˜ao normaliz´aveis? Na verdade, n˜ao! Existem termos sem forma normal como a seguir exemplificamos:
Exemplo 12 a) Consideremos o termo Ω ≡ P II (P II). A ´unica forma de redu¸c˜ao deste termo ´e consider´a-lo como um redexe do tipo P XY Z em que X ≡ I, Y ≡ I e Z ≡P II, logo:
Ω ≡ P II (P II)
→ w I (P II) (I (P II)) w P II
IPII (Exemplo 9 a))
w P II (P II) (novamente pelo exemplo 9 a))
≡ Ω
w ...
Pelo que o termo dado n˜ao ´e normaliz´avel e at´e o processo de redu¸c˜ao n˜ao ter-mina, ´e infinito.
b) Consideremos P ≡ XX com X ≡P (P II) (Q y). Ent˜ao, por raz˜oes an´alogas `
as expressas no exemplo anterior: P ≡ P (P II) (Q y) X → w P IIX Q yX → w P IIXy → w IX (IX) y
w X (IX) y pelo exemplo 9 a)
w XXy novamente pelo exemplo 9 a)
≡ P y
w P yy w...
Note-se que ao fazermos o segundo passo da redu¸c˜ao optamos por contrair o termo Q y (P (P II) (Q y)), mas poderiamos ter antes decidido contrair o redexe
P II (P (P II) (Q y)). Todavia tal op¸c˜ao, neste caso, seria indiferente pois con-cluiriamos que a redu¸c˜ao continuaria a ser infinita e, em ambos os casos, o termo P n˜ao admite forma normal.
Pelos exemplos anteriores, al´em de verificarmos a existˆencia de termos que n˜ao s˜ao normaliz´aveis, observamos que o processo de simplifica¸c˜ao de termos pode n˜ao os simplificar e at´e n˜ao terminar.
Os exemplos dados colocam-nos por conseguinte outra quest˜ao: Ser´a que um termo que admita uma redu¸c˜ao infinita n˜ao ´e normaliz´avel? Na verdade, tamb´em n˜ao! Existem termos que admitem uma sequˆencia de redu¸c˜ao infinita, mas, contudo, s˜ao normaliz´aveis. Apresentamos a seguir um exemplo.
Exemplo 13 Consideremos P o termo descrito na al´ınea b) do exemplo 12 e L ≡ Q xP . Entre outras, existem duas sequˆencias de redu¸c˜ao para o termo L como seguidamente se ilustra:
• L ≡Q xP →w x;
•
L ≡ Q xP
≡ Q xP (P II) (Q y) (P (P II) (Q y))
w Q x (P y) por contrac¸c˜ao de P w Q x (P yy) por contrac¸c˜ao de P
etc.
Logo L ´e normaliz´avel pois existe uma redu¸c˜ao no qual L admite forma normal, mas tamb´em L possui uma redu¸c˜ao infinita.
Ser´a ent˜ao que um termo pode admitir formas normais diferentes, quando os processos (estrat´egias) de redu¸c˜ao s˜ao distintos? Igualmente, n˜ao! Certamente que qualquer sistema que afirma representar o resultado final de uma computa¸c˜ao, deve ser independente do caminho escolhido. Se esta propriedade falhasse para a redu¸c˜ao, a argumenta¸c˜ao de a L´ogica combinat´oria poder ser vista como uma Linguagem de Programa¸c˜ao falharia desde o in´ıcio. Ser´a este o objectivo da pr´oxima sec¸c˜ao.
2.3
Teorema de Church-Rosser
A forma normal de um termo ´e vista como o resultado final da computa¸c˜ao. O resultado seguinte mostra que esta interpreta¸c˜ao intuitiva ´e correcta, isto ´e, se uma computa¸c˜ao termina, ent˜ao o resultado ´e ´unico.
Teorema 14 (Teorema de Church Rosser)
Se M w X e M w Y , ent˜ao existe um termo T tal que X w T e Y w T .
Corol´ario 15 Um termo-LC admite quanto muito uma forma normal.
Demonstra¸c˜ao. Suponhamos que M w X e M w Y com X e Y formas normais
de M. Pelo Teorema 14 existe T tal que X w T e Y w T. Mas X e Y s˜ao termos
em forma normal, pelo que X ≡ T ≡ Y.
Para provarmos o Teorema de Church-Rosser vamos usar a no¸c˜ao de redu¸c˜ao paralela, no¸c˜ao introduzida por Tait e Martin-L¨of na demonstra¸c˜ao deste Teorema, uma das mais simples demonstra¸c˜oes at´e ent˜ao. Intuitivamente, significa reduzir um n´umero de redexes (existentes num termo-LC) simultaneamente [1]. A no¸c˜ao de redu¸c˜ao paralela ´e a mesma que a no¸c˜ao de “contrac¸c˜ao simultˆanea do conjunto de redexes n˜ao sobrepostos de um termo” que ´e definida utilizando res´ıduos de um redexe [12] (Apˆendice 1). Apesar de utilizarmos a no¸c˜ao de redu¸c˜ao paralela para provarmos o Teorema de Churh-Rosser, ela pode ser definida directamente por indu¸c˜ao sobre a estrutura dos termos (sem fazermos referˆencia aos res´ıduos e outras no¸c˜oes auxiliares) e esta defini¸c˜ao d´a-nos exactamente o que necessitamos para provar indutivamente este Teorema [19].
´
E pertinente referir que a demonstra¸c˜ao deste Teorema nas trˆes cita¸c˜oes acima referidas s˜ao apresentadas para o sistema do C´alculo Lambda e n˜ao para a L´ogica Combinat´oria. No entanto, quanto `as duas primeiras cita¸c˜oes, como os autores referem, a demonstra¸c˜ao do Teorema de Church-Rosser para a L´ogica Combinat´oria segue racioc´ınios an´alogos `a que ´e apresentada, mas obviamente com uma ligeira adapta¸c˜ao a este sistema.
Assim, para provar o Teorema de Church-Rosser, primeiro relembramos a de-monstra¸c˜ao deste Teorema segundo Tait e Martin-L¨of, na qual apresentamos a de-fini¸c˜ao indutiva de redu¸c˜ao paralela e depois seguimos [19], mas a demostra¸c˜ao ´e por n´os adaptada para a L´ogica Combinat´oria.
Defini¸c˜ao 16 Dada uma rela¸c˜ao >R do conjunto dos termos-LC, diz-se que >R
satisfaz a propriedade do losango se para quaisquer termos P, M, N tais que P >RM
e P >R N , existe um termo T tal que M >RT e N >R T .
Uma rela¸c˜ao diz-se confluente se o seu fecho transitivo satisfaz a propriedade do Losango.
De forma pict´orica, a propriedade do Losango pode ser representada pela seguinte figura:
Figura 2.1: Uma representa¸c˜ao pict´orica da Propriedade do Losango
Assim, o Teorema de Church-Rosser afirma-nos que a rela¸c˜ao →w ´e confluente.
Claramente, se uma rela¸c˜ao satisfaz a propriedade de Losango, tamb´em o seu fecho transitivo a satisfaz, basta ent˜ao que →w satisfa¸ca a propriedade do Losango para
que w tamb´em verifique essa propriedade (por ser o fecho reflexivo e transitivo de
→w). Contudo, →w n˜ao satisfaz a propriedade de Losango, como observamos pelo
exemplo seguinte.
Exemplo 17 1) →w n˜ao ´e reflexiva
Consideremos o termo M ≡Q y (P xyz). Temos que: M ≡Q y (P xyz) →w y
M ≡Q y (P xyz) →w Q y (xz (yz)) →w y
Para que esta redu¸c˜ao satisfa¸ca a propriedade do Losango, necessitavamos que y →w y. Mas isso n˜ao ´e poss´ıvel pois a vari´avel y est´a na forma normal.
Figura 2.2: Uma representa¸c˜ao pict´orica do Exemplo 17 al´ınea 1)
2) →w n˜ao ´e paralela
Consideremos o termo X ≡P xy (Q yz). Temos que: X ≡P xy (Q yz) →w P xyy →w xy (yy)
X ≡ P xy (Q yz) →w x (Q yz) (y (Q yz)) ≡ N →w xy (y (Q yz)) →w
xy (yy)
Figura 2.3: Uma representa¸c˜ao pict´orica do Exemplo 17 al´ınea 2)
Apesar do termo N reduzir-se a xy (yy), ´e claro, qualquer que seja a estrat´egia de redu¸c˜ao escolhida, que n˜ao conseguimos fazˆe-lo somente com um passo de con-trac¸c˜ao.
Para provar o Teorema de Church-Rosser, basta-nos ent˜ao encontrar uma rela¸c˜ao que satisfa¸ca a Propriedade do Losango tal que w seja o seu fecho transitivo, donde
→w ser´a confluente. Apresentamos a no¸c˜ao de rela¸c˜ao de redu¸c˜ao paralela.
Defini¸c˜ao 18
a) Indutivamente, definimos a rela¸c˜ao de redu¸c˜ao paralela, denota-se por F, como se segue:
(w1) a F a, com a um ´atomo;
(w2) U F U´ e V F V´ =⇒ U V F U´V´;
(w3) X F X´, Y F Y´ =⇒ Q XY F X´;
(w4) X F X´, Y F Y´, Z F Z´ =⇒ P XY Z F X´Z´(Y´Z´).
Na defini¸c˜ao acima, as regras (w1) e (w2) garantem que F ´e reflexiva. Por outro lado, intuitivamente M F M´ significa que M´ ´e obtido a partir de M por
contrac¸c˜ao simultˆanea de algum n´umero de redexes, possivelmente sobrepostos, en-tre os subtermos do termo M .
Exemplo 19 1) Consideremos novamente X ≡P xy (Q yz) .
Temos que x F x, y F y e z F z. Por y F y e z F z ent˜aoQ yz F y,
por aplica¸c˜ao de (w3). Assim, X ≡P xy (Q yz) F xy (yy), tendo em conta (w4).
2) Seja P XY Z, com X ≡ Q x, Y ≡ P xyz e Z ≡ Q xy.
Ent˜aoP XY Z F Q xx (xz (yz) x).Por outro lado, Q xx (xz (yz) x) F x (xz (yz) x),
mas n˜ao se tem que P XY Z F x (xz (yz) x), pelo que a rela¸c˜ao F n˜ao ´e
tran-sitiva.
Vamos, ent˜ao, mostrar que w ´e o seu fecho transitivo. Primeiro, apresentamos
o seguinte Lema:
Lema 20 Sejam M e M´ termos-LC, quaisquer. a) Se M →w M´, ent˜ao M F M´;
b) Se M F M´, ent˜ao M w M´.
Demonstra¸c˜ao. a) Admitamos que M →w M´. A demonstra¸c˜ao ser´a feita por
indu¸c˜ao sobre a complexidade dos termos. • Se M ≡ U V : ent˜ao ou:
− M´≡ U´V com U →w U´ : por hip´otese de indu¸c˜ao U F U´ e V F V , por F ser reflexiva, donde M ≡ U V F U´V ≡ M´.
• Se M ´e ele pr´oprio um redexe:
− M ≡Q XY e M´≡ X: por F ser reflexiva temos que M F M´;
− M ≡P XY Z e M´≡ XZ(Y Z): por reflexividade tem-se tamb´em M F M´.
Portanto, provamos que →w⊆ F .
b) Suponhamos que M F M´. Demonstramos por indu¸c˜ao sobre a
complexi-dade dos termos.
• Se M ≡ a, com a um ´atomo: Imediato, por w ser reflexiva;
• Se M ≡ U V e M´≡ U´V´com U F U´e V F V´
Por hip´otese de indu¸c˜ao, U w U´ e V w V´. Sejam x e y duas vari´aveis
distintas, quaisquer, e Z ≡ xy. Por w ser reflexiva Z w Z, logo por aplica¸c˜ao,
sucessiva, do Lema 10 al´ınea b) temos que (Z [U/x]) [V /y] w (Z [U´/x]) [V´/y], isto
´e, M ≡ U V w U´V´≡ M´.
• Se M ´e ele pr´oprio um redexe:
− M ≡Q XY e M´≡ X´com X F X´e Y F Y´: por reflexividadeQ w
Q e por hip´otese de indu¸c˜ao, X w X´e Y w Y´, pelo que M w M´
− M ≡ P XY Z e M´ ≡ X´Z´(Y´Z´) com X F X´, Y F Y´ e Z F Z´: por
hip´otese de indu¸c˜ao X w X´, Y w Y´e Z w Z´, eP w P donde M w M´.
Conclui-se que F⊆ w .
Lema 21 w ´e o fecho transitivo (e reflexivo) de F .
Demonstra¸c˜ao. Claramente atendendo ao Lema acima, temos(1)
(→w) = ⊆ F⊆ w Ent˜ao w= ((→w) = )∗ ⊆ ∗F⊆ ( w) ∗ = w
Assim, basta agora provar que F satisfaz a Propriedade do Losango:
P F A e P F B =⇒ ∃T (A F T e B F T )
Contudo, a seguinte afirma¸c˜ao ´e mais forte e ´e demonstrada de uma forma mais simples:
M F N =⇒ N F M∗
em que M∗ ´e um termo determinado a partir de M e ´e independente de N . Intui-tivamente, a propriedade acima ´e satisfeita por um termo M∗ que ´e obtido a partir de M por contrac¸c˜ao de todos os redexes existentes em M simultaneamente.
Defini¸c˜ao 22 Definimos o termo M∗ por indu¸c˜ao sobre a estrutura do termo M : (w1*) a∗ ≡ a, com a um ´atomo;
(w2*) (U V )∗ ≡ U∗V∗, se U V n˜ao ´e um redexe;
(w3*) (Q XY )∗ ≡ X∗;
(w4*) (P XY Z)∗ ≡ X∗Z∗(Y∗Z∗) .
Teorema 23 M F N =⇒ N F M∗.
Demonstra¸c˜ao. Por indu¸c˜ao sobre a estrutura de M :
Caso 1) Se M ≡ a, com a um ´atomo, tem-se que M ≡ a F N , ent˜ao N ≡ a F a ≡ a∗ ≡ M∗;
Caso 2) Se M ≡ U V e M n˜ao ´e um redexe, ent˜ao N ≡ U´V´ com U F U´ e V F V´. Por hip´otese de indu¸c˜ao, U´ F U∗ e V´ F V∗, pelo que N ≡ U´V´ F
U∗V∗ ≡ (U V )∗ ≡ M∗;
Caso 3) Se M ≡Q XY F N , ent˜ao N ≡ X´ com X F X´; por hip´otese de
indu¸c˜ao X´ F X∗, logo N ≡ X´ F X∗ ≡ (Q XY )∗ ≡ M∗;
Caso 4) Se M ≡ P XY Z, ent˜ao N ≡ X´Z´(Y´Z´) com X F X´, Y F Y´, e
Z F Z´; por hip´otese de indu¸c˜ao, X´ F X∗, Y´ F Y∗ e Z´ F Z∗, pelo que
N F X∗Z∗(Y∗Z∗) ≡ (P XY Z) ∗
≡ M∗.
O Lema supra mencionado imediatamente implica que Fsatisfaz a propriedade
do Losango:
Lema 24 (Propriedade do Losango para F)
Demonstra¸c˜ao. ´E imediato. Basta tomar T ≡ M∗.
Finalmente, temos a prova do Teorema de Church-Rosser: Demonstra¸c˜ao. do Teorema 14
Uma vez que F satisfaz a propriedade do Losango, segue-se que o seu fecho
reflexivo e transitivo a satisfaz, isto ´e w pelo Lema 21 e esta propriedade n˜ao ´e
mais que o Teorema de Church para →w .
Esta demonstra¸c˜ao, relembramos novamente que foi adaptada de [19], beneficia de ser mais directa e curta e de ser, do nosso ponto de vista, matematicamente mais clara e compreens´ıvel uma vez que a no¸c˜ao de redu¸c˜ao paralela capta precisamente o que necessitamos para expressar a ideia intuitiva da demonstra¸c˜ao.
2.4
Teorema do Ponto fixo
No sistema puro da L´ogica combinat´oria todo o termo admite um ponto fixo e, al´em disso, existe um combinador Y que descobre todos os pontos fixos, isto ´e, tal que YX ´e o ponto fixo de X, para qualquer termo X. Antes, por´em, de provarmos a existˆencia deste combinador, necessitamos da seguinte no¸c˜ao:
Defini¸c˜ao 25 Dizemos que X ´e igual a Y , denota-se por X =w Y , se e s´o se Y ´e
obtido de X por uma s´erie finita (possivelmente vazia) de contrac¸c˜oes ou contrac¸c˜oes inversas, pelo que =w ´e o fecho sim´etrico de w, que ´e o mesmo que afirmar que
=w ´e o fecho transitivo, reflexivo e sim´etrico de →w, isto ´e =w ´e a menor rela¸c˜ao
que satisfaz:
i) P →w M =⇒ P =w M ;
ii) P =w M e M =w N =⇒ P =w N ;
iii) P =w P ;
iv) P =w M =⇒ M =w P.
De acordo com a defini¸c˜ao acima, ´e imediato que se X w Y , ent˜ao X =w Y .
Tamb´em, caso X =w Y e considerando que apenas Y est´a na forma normal, temos
a intui¸c˜ao que s´o se pode ter X w Y e aplicando o corol´ario do Teorema de church
Rosser, Y ´e a forma normal de X. Contudo, caso Y n˜ao esteja na forma normal, ao afirmar que X =w Y nada nos garante que se tenha X w Y ou Y w X, pois
sabemos que podemos efectuar contrac¸c˜oes inversas. Intuitivamente, pensamos que, independentemente das estrat´egias de redu¸c˜ao, deve existir pelo menos um termo T tal que X w T e Y w T . De facto, ´e verdade!
Teorema 26 (Teorema de Church-Rosser para a igualdade) Se X =w Y , ent˜ao existe um termo T tal que X w T e Y w T .
Demonstra¸c˜ao. Suponhamos X =w Y . Por defini¸c˜ao existem termos X0, ..., Xn,
com n ≥ 0, tal que X ≡ X0, Y ≡ Xne para todo k = 1, ..., n temos que Xk−1 →w Xk
ou Xk →w Xk−1. Provamos, por indu¸c˜ao sobre k, que existe um termo Tk tal que
X w Tk e Xk w Tk.
Se k = 0: imediato.
Hip´otese de indu¸c˜ao: admitamos que existe um termo Tk tal que X w Tk e
Xk w Tk.
Sabe-se que uma das seguintes contrac¸c˜oes ocorrem: Xk+1 →w Xk ou Xk →w
Xk+1.
• Se Xk+1 →w Xk:
Ent˜ao Xk+1 w Tk, por Xk w Tk, donde basta tomar Tk+1 ≡ Tk.
• Se Xk →w Xk+1:
Uma vez que tamb´em Xk w Tk, o Teorema de Church-Rosser garante-nos a
existˆencia de um termo Tk+1 tal que Xk+1 w Tk+1 e Tk w Tk+1. Por X w Tk e
Tk w Tk+1, tem-se X w Tk+1.
Corol´ario 27 a) Se X =w Y e Y est´a na forma normal, ent˜ao X w Y.
b) Se X =w Y , ent˜ao ambos n˜ao s˜ao normaliz´aveis ou admitem a mesma forma
normal.
c) Se X e Y admitem formas normais distintas, ent˜ao X 6=w Y .
Demonstra¸c˜ao. Imediato por aplica¸c˜ao do Teorema 26 e do Corol´ario 15. Podemos, agora, mostrar que todo o termo admite um ponto fixo.
Teorema 28 (Teorema de Ponto Fixo)
a) Yx =w x (Yx) .
b) Na verdade existe Y com a propriedade: Yx w x(Yx).
Demonstra¸c˜ao. Refira-se que Y n˜ao ´e ´unico, por exemplo consultar [9].
Iremos definir dois combinadores. O primeiro combinador enunciado deve-se a Curry mas apenas satisfaz a al´ınea a), enquanto o segundo combinador deve-se a Alan M. Turing e satisfaz tamb´em a al´ınea b), como mostramos.
Definimos
YCurry ≡ P V V com V ≡ P (P (Q P) Q) (Q (P II))
YT uring ≡ ZZ com Z ≡P (Q (P I)) (P II)
Seja Y ≡ YCurry. Vejamos que Y satisfaz a):
Indica-se o redexe contra´ıdo sublinhando-o.
Yx ≡ P V V x
→ w V x (V x)
≡ P (P (Q P) Q) (Q (P II)) x (V x) por defini¸c˜ao de V
→ w P (Q P) Q x Q (P II) x(V x) → w P (Q P) Q x (P II) (V x) → w Q P x (Q x) (P II) (V x) → w P (Q x) (P II) (V x) → w Q x (V x) (P II (V x)) → w x P II (V x) → w x I(V x)(I (V x) w x
V x(I (V x) por IM w M (exemplo 9 a)) w x(V x(V x)) novamente por IM w M , para todo M
Seja, agora, Y ≡ YT uring. Tendo em conta que IM w M , para todo o termo
M , tem-se que Y satisfaz b) pois
Yx ≡ P (Q (P I)) (P II) (P (Q (P I)) (P II))x
→ w Q (P I) (P (Q (P I)) (P II)) (P II (P (Q (P I)) (P II))) x
→ w P I (P II (P (Q (P I)) (P II))) x → w Ix (P II (P (Q (P I)) (P II)) x) w x P II (P (Q (P I)) (P II))x → w x
I (P (Q (P I)) (P II)) (I (P (Q (P I)) (P II))) x
w x
P (Q (P I)) (P II)I (P (Q (P I)) (P II))x
w x (P (Q (P I)) (P II) (P (Q (P I)) (P II)) x)
≡ x (Yx)
2.5
C´
alculo Lambda
Outra relevˆancia dos combinadores b´asicos deve-se ao facto, de dado um termo M, possivelmente com vari´avel livre x, destes permitirem definir a express˜ao do tipo λx.M que pode ser vista como uma fun¸c˜ao que quando aplicada a x obtemos M. Mais precisamente:
Defini¸c˜ao 29 Para cada termo-LC M e para qualquer vari´avel x definimos λx.M por indu¸c˜ao sobre a estrutura de M :
a) λx.M ≡Q M se x /∈ V L(M )
b) λx.x ≡ I com I ≡P Q Q
c) λx. (U V ) ≡P (λx.U ) (λx.V ) , caso contr´ario
Desigamos as express˜oes do tipo λx.M por λ−abstrac¸c˜ao, ou simplesmente abstrac¸c˜ao.(2)
(2)No c´alculo lambda, para cada vari´avel x e termo M , o termo abstrac¸c˜ao faz parte da sua
sintaxe, pelo que ´e necess´ario fazer referˆencia `a no¸c˜ao de vari´aveis mudas, no¸c˜ao que n˜ao ´e por n´os apresentada pois de facto no c´alculo dos combinadores n˜ao h´a vari´aveis mudas.
Intuitivamente, interpreta-se um termo da forma λx.M como fun¸c˜ao de parˆametro formal x.
Por outro lado, tendo em conta a interpreta¸c˜ao informal de λx.M como fun¸c˜ao, as nossas expectativas esperam que (λx.M ) N represente a aplica¸c˜ao dessa fun¸c˜ao ao argumento N , donde faz sentido que (λx.M ) N seja “simplificado” pelo termo M [N/x] e, na verdade, este processo de simplifica¸c˜ao ´e assegurado pelo seguinte teorema:
Teorema 30 (Completude Combinatorial)
Para qualquer termo-LC M e qualquer vari´avel x tem-se (λx.M ) N w M [N/x]
A este tipo de redu¸c˜ao designamos por redu¸c˜ao-β e denota-se por β.
Demonstra¸c˜ao. Tendo em conta o Lema 10 c) ´e suficiente provar que: (λx.M ) x w M
A demonstra¸c˜ao ser´a feita por indu¸c˜ao sobre a estrutura de M . Caso 1) Se M ≡ x, tem-se que:
(λx.x) x ≡
defini¸c˜ao 29 b)Ixexemplo 12 a)w
x ≡ M Caso 2) Se M ≡ a, com a um ´atomo distinto de x.
(λx.a) x ≡
defini¸c˜ao 29 a)Q ax →w a ≡ M
Caso 3) Se M ≡ U V , tem-se por hip´otese de indu¸c˜ao que (λx.U ) x w U e
(λx.V ) x w V. Consideremos agora os seguintes subcasos:
i) Se x /∈ V L(M ), ent˜ao ´e an´alogo ao caso 2). ii) Se x ∈ V L(M ), ent˜ao
(λx.U V ) x ≡ P (λx.U ) (λx.V ) x pela defini¸c˜ao 29 c) → w (λx.U ) x ((λx.V ) x)
w U V por hip´otese de indu¸c˜ao
Defini¸c˜ao 31 Para quaisquer vari´aveis x1, ..., xn, n˜ao necessariamente distintas,
λx1...xn.M ≡ λx1. (λx2. (... (λxn.M ) ...))
Exemplo 32 Tendo em conta a defini¸c˜ao 29, tem-se que: a)
λxy.x ≡ λx. (λy.x)
≡ λx.Q x pela al´ınea a)
≡ P (λx. Q) (λx.x) pela al´ınea c)
≡ P (Q Q) I pelas al´ıneas a) e b), respectivamente. b)
λx.xy ≡ P (λx.x) (λx.y) pela al´ınea c)
≡ XI (Q y) por b) e a), respectivamente
Teorema 33 Para quaisquer vari´aveis distintas x1, ..., xn,
(λx1...xn.M ) U1...Un w M [U1/x1, ..., Un/xn] .
Demonstra¸c˜ao. Pelo Lema 10 al´ınea c), basta provar que (λx1...xn.M ) x1...xn w M .
Este resultado ´e obtido pelo Teorema 30 por indu¸c˜ao sobre n.
Lema 34 (Substitui¸c˜ao e abstrac¸c˜ao)
a) y /∈ V L(M ) =⇒ λx.M ≡ λy. (M [y/x]) (Designa-se esta substitui¸c˜ao por mudan¸ca de vari´avel)(3);
b) y /∈ V L(xN ) =⇒ (λy.M ) [N/x] ≡ λy.(M [N/x]).
(3)Mais precisamente, no C´alculo Lambda designa-se esta substitui¸c˜ao por mudan¸ca de vari´aveis
Demonstra¸c˜ao. Por indu¸c˜ao sobre a estrutura de M . a) Suponhamos que y /∈ V L(M ).
Caso 1) Se M ≡ x
λy. (M [y/x]) ≡ λy. (x [y/x])
≡ λy.y pela defini¸c˜ao 5 a) ≡ I por b) da defini¸c˜ao 29 ≡ λx.x por b) da defini¸c˜ao 29 ≡ λx.M
Caso 2) Se M ≡ a, com a um ´atomo distinto de x (e claro diferente de y): λy. (M [y/x]) ≡ λy. (a [y/x])
≡ λy.a (defini¸c˜ao 5 b)) ≡ Q a (defini¸c˜ao 29 a)) ≡ λx.a (defini¸c˜ao 29 a)) ≡ λx.M
Caso 3) Se M ≡ U V . Como y /∈ V L(M ) = V L(U ) ∪ V L(V ), por hip´otese de indu¸c˜ao assumimos que λx.U ≡ λy.U [y/x] e λx.V ≡ λy.V [y/x].
i) Se x /∈ V L(M )
λy. (M [y/x]) ≡ λy. ((U V ) [y/x])
≡ λy. (U [y/x]) (V [y/x]) pela defini¸c˜ao 5 c) ≡ λy.U V pelo Lema 6 b)
≡ Q M pela defini¸c˜ao 29 a)
≡ λx.M pela al´ınea a) da defini¸c˜ao 29 .
ii) Se x ∈ V L (M ), ent˜ao:
λy. (M [y/x]) ≡ λy. ((U V ) [y/x])
≡ λy. (U [y/x]) (V [y/x]) pela defini¸c˜ao 5 c)
≡ P (λy.U [y/x]) (λy.V [y/x]) pela defini¸c˜ao 29 c) ≡ P (λx.U ) (λx.V ) por hip´otese de indu¸c˜ao ≡ λx.U V pela defini¸c˜ao 29 c)
≡ λx.M
b) Suponhamos que y /∈ V L(xN ), pelo que as vari´aveis x e y s˜ao distintas e y /∈ V L(N ).
Caso 1) Se M ≡ y
(λy.M ) [N/x] ≡ (λy.y) [N/x] ≡
defini¸c˜ao 29 b)I [y/x]defini¸≡c˜ao 5 a)I
e
λy. (M [N/x]) ≡ λy. (y [N/x]) ≡
defini¸c˜ao 5 b)λy.y defini¸c˜≡ao 29 b)I
Caso 2) Se M ≡ x
(λy.M ) [N/x] ≡ (λy.x) [N/x]
≡ (Q x) [N/x] pela defini¸c˜ao 29 a)
≡ (Q [N/x]) (x [N/x]) pela defini¸c˜ao 5 c)
≡ Q N pela defini¸c˜ao 5 al´ıneas b) e a), respectivamente e
λy. (M [N/x]) ≡ λy. (x [N/x])
≡ λy.N pela defini¸c˜ao 5 a)
≡ Q N pela defini¸c˜ao 29 a), pois y /∈ V L(N ) Caso 3) Se M ≡ a um ´atomo distinto de x e y.
(λy.M ) [N/x] ≡ (λy.a) [N/x] ≡ (Q a) [N/x] pela defini¸c˜ao 29 a) ≡ (Q [N/x]) (a [N/x]) pela defini¸c˜ao 5 c) ≡ Q a pela defini¸c˜ao 5 b) e λy. (M [N/x]) ≡ λy. (a [N/x])
≡ λy.a pela defini¸c˜ao 5 b) ≡ Q a pela defini¸c˜ao 29 a) Caso 4) Se M ≡ U V
i) Se y /∈ V L(M )
(λy.M ) [N/x] ≡ (λy.U V ) [N/x]
≡ (Q (U V )) [N/x] pela defini¸c˜ao 29 a)
≡ (Q [N/x]) ((U V ) [N/x]) pela defini¸c˜ao 5 c) ≡ Q ((U [N/x]) (V [N/x])) pela defini¸c˜ao 5 b) e c),
e
λy. (M [N/x]) ≡ λy. ((U V ) [N/x])
≡ λy. (U [N/x]) (V [N/x]) pela defini¸c˜ao 5 c)
≡ Q ((U [N/x]) (V [N/x])) pela defini¸c˜ao 29 a), pelo Lema 6 c) e por y ∈ V L(N )/
ii) Se n˜ao se aplica o caso anterior: (λy.M ) [N/x] ≡ (λy.U V ) [N/x]
≡ (P (λy.U ) (λy.V )) [N/x] pela defini¸c˜ao 29 c)
≡ ((P (λy.U )) [N/x]) ((λy.V ) [N/x]) pela defini¸c˜ao 5 c) ≡ (P [N/x]) ((λy.U ) [N/x]) ((λy.V ) [N/x]) pela defini¸c˜ao 5 c) ≡ P (λy. (U [N/x])) (λy. (V [N/x])) , respectivamente pela
defini¸c˜ao 5 b) e por hip´otese de indu¸c˜ao e
λy. (M [N/x]) ≡ λy. ((U V ) [N/x])
≡ λy. (U [N/x]) (V [N/x]) pela defini¸c˜ao 5 c)
≡ P (λy. (U [N/x])) (λy. (V [N/x])) pela defini¸c˜ao 29 c)
Nota 35 1) As condi¸c˜oes introduzidas na defini¸c˜ao 29 garantem que se x /∈ V L (V ), com y 6≡ x, ent˜ao λx. (U [V /y]) ≡ (λx.U ) [V /y], conforme al´ınea b) do Lema 34, pois sem elas n˜ao se tem em geral esta propriedade. Isto ´e, consideremos a defini¸c˜ao de λ−abstra¸c˜ao por indu¸c˜ao sobre a estrutura de M da seguinte forma:
i) λx.a ≡Q a, para a um ´atomo diferente de x; ii) λx.x ≡ I
iii) λx.U V ≡P (λx.U ) (λx.V )
Ent˜ao temos que, por exemplo, tomando U ≡ y e V ≡ Q Q, apesar de x /∈ V L (Q Q) , y 6≡ x, de facto λx. (U [V /y]) 6≡ (λx.U ) [V /y] pois
•
λx. (U [V /y]) ≡ λx. (y [Q Q /y])
≡ λx.Q Q , al´ınea a) da defini¸c˜ao 5 ≡ P (λx. Q) (λx. Q) , por iii) acima ≡ X(Q Q) (Q Q) , por i) acima
•
(λx.U ) [V /y] ≡ (λx.y) [Q Q /y]
≡ (Q y) [Q Q /y] , por i) acima
≡ (Q [Q Q /y]) (y [Q Q /y]) , pela al´ınea c) da defini¸c˜ao 5
≡ Q (Q Q) , pelas al´ıneas b) e a), respectivamente, da defini¸c˜ao 5
Contudo, por outro lado, de acordo com a nossa defini¸c˜ao de abstrac¸c˜ao, de-fini¸c˜ao 29, n˜ao ´e satisfeita a propriedade de “todos os termos da forma λx.M sejam normaliz´aveis, para qualquer termo M ”. No entanto, considerando a defini¸c˜ao de abstrac¸c˜ao sem restri¸c˜oes, conforme al´ıneas i), ii) e iii) supra mencionadas, esta propriedade, “λx.M ´e normaliz´avel, para todo o termo M ”, ´e claramente verda-deira.
Por exemplo, considerando M ≡ P II (P II) de acordo com a nossa defini¸c˜ao λx.M ≡ Q (P II (P II)) n˜ao ´e normaliz´avel, pois a sua ´unica forma de redu¸c˜ao ´e contrair o redexe P II (P II) que j´a vimos n˜ao admitir forma normal (exemplo 12).
2) Existem outras defini¸c˜oes para a abstrac¸c˜ao. Noutras literaturas, como por exemplo, na literatura [12] acrescenta-se na defini¸c˜ao mais uma al´ınea, a saber: λx.M x ≡ M se x /∈ V L(M ), aplicando-se apenas a al´ınea c) da defini¸c˜ao 29 quando as al´ıneas a), b) e esta ficam exclu´ıdas.
A n˜ao introdu¸c˜ao da al´ınea acima referida na nossa defini¸c˜ao deve-se ao facto de pretendermos apresentar o conjuntos dos termos-LC da forma mais pura poss´ıvel.
2.6
O Poder do C´
alculo de Combinadores
Nesta sec¸c˜ao mostramos que apesar da L´ogica Combinat´oria ter uma simples sintaxe, esta linguagem ´e bastante poderosa: conseguimos representar n´umeros naturais, donde outros termos representar˜ao fun¸c˜oes num´ericas. Mostraremos que as fun¸c˜oes que podem ser representadas de forma combin´atoria s˜ao precisamente as fun¸c˜oes efectivamente comput´aveis. Como defini¸c˜ao de fun¸c˜oes (efectivamente) comput´aveis, utilizaremos a classe de fun¸c˜oes parciais recursivas.
2.6.1
Representa¸
c˜
ao dos N´
umeros Naturais
Denotamos por N = {0, 1, 2, ...} o conjunto dos n´umeros naturais. Os n´umeros naturais ser˜ao usualmente representados pelas letras min´usculas n, m, i, j, k, etc..
Para quaisquer termos-LC X e Y , utilizamos a seguinte abreviatura: XnY ≡ X(X(...(X
| {z }
n vezes
Y )...)) para n ≥ 1 e X0Y ≡ Y .
Antes de vermos como podemos representar os n´umeros naturais no conjunto dos termos-LC, apresentamos a sua representa¸c˜ao no C´alculo Lambda de forma a que a no¸c˜ao por n´os facultada para o c´alculo dos combinadores seja mais clara e intuitiva.
No C´alculo Lambda, a ideia utilizada por Church para representar n´umeros naturais foi consider´a-los como funcionais, chamados por numerais, que para cada n´umero natural n o termo lambda que o representa ´e n ≡ λxy.xny, pelo que os
numerais podem ser vistos como itera¸c˜ao, j´a que quando aplicamos um numeral a dois argumentos, tem-se: nf z ≡ λxy.xny
β fnz ≡ f (f (...(f
| {z }
n vezes
z)..)).
Apresentamos, de seguida, uma forma de representar os n´umeros naturais no conjuntos dos termos-LC, no¸c˜ao que capta precisamente a propriedade acima men-cionada, como provamos.
Defini¸c˜ao 36 (Numerais de Church)
Para cada n´umero natural n, representamos n pelo termo-LC n em que n ≡ (P B)n(Q I), com B ≡ P (Q P) Q, conforme exemplo 9 al´ınea b).
Designa-se n por numeral.
Teorema 37 Para quaisquer termos-LC F e X temos que nF X w FnX.
Demonstra¸c˜ao. Por indu¸c˜ao sobre n: Passo base:
0 ≡ (P B)0(Q I) ≡ Q I; Logo 0F X ≡ Q IF X →
w IX w X ≡ F0X.
Hip´otese de indu¸c˜ao:
Admitamos nF X w FnX.
Como n + 1 ≡ (P B)n+1(Q I) ≡ (P B) ((P B)n(Q I)) ≡ P Bn e por BXY Z w
X (Y Z) para quaisquer termos X, Y e Z, conforme exemplo 9 al´ınea b), temos n + 1F X ≡P BnF X →w BF (nF ) X w F (nF X) w
H.I.
2.6.2
Representa¸
c˜
ao das Fun¸
c˜
oes Parciais Recursivas.
Uma vez que a L´ogica Combinat´oria pode ser vista como uma Linguagem de Pro-grama¸c˜ao, ent˜ao deve poder representar as fun¸c˜oes efectivamente comput´aveis, isto ´e, as fun¸c˜oes parciais recursivas. De facto isto ´e verdade, como passamos a provar.
Tese de Church: A classe das fun¸c˜oes efectivamente comput´aveis ´e precisa-mente a classe das fun¸c˜oes parciais recursivas.
O leitor poder´a consultar o Apˆendice A onde se faculta uma abordagem destes assuntos. Optamos por coloc´a-los em Apˆendice pois para um leitor familiarizado com os mesmos tornaria a leitura desta sec¸c˜ao um pouco cansativa.
Quanto `a nota¸c˜ao necess´aria a esta sec¸c˜ao: para cada k ≥ 1, Nkdenota o produto
cartesiano de k factores de N, isto ´e, Nk = N × ... × N
| {z }
k vezes
. Logo N1 ´e N. O caso em que k = 0 corresponde `as constantes naturais. Em geral, tamb´em usamos as seguintes abreviaturas:
• para quaisquer x1, ..., xk ∈ N para cada x1 ∈ N, ..., xk ∈ N
• quando n˜ao ´e necess´ario especificar k, escrevemos −→x para denotar o k-uplo (x1, ..., xk) ∈ Nk.
Uma fun¸c˜ao num´erica k-´aria, ou fun¸c˜ao num´erica de aridade k, digamos f , ´e uma fun¸c˜ao do tipo f : X ⊆ Nk → N. Como nesta sec¸c˜ao apenas iremos trabalhar
com fun¸c˜oes num´ericas de aridade k, por vezes apenas escrevemos fun¸c˜ao k-´aria ou at´e fun¸c˜ao. As fun¸c˜oes ser˜ao normalmente representadas pelas letras min´usculas f , g, h, etc, mas por vezes utilizamos tamb´em letras gregas, com vista a evidˆenci´a-las perante outras.
Sendo f uma fun¸c˜ao num´erica k-´aria, dizemos que f est´a definida para o k-uplo (x1, ..., xk) ∈ Nk, denota-se por f (x1, ..., xk) ↓, quando existe n ∈ N tal
que f (x1, ..., xk) = n; caso contr´ario diz-se que f n˜ao est´a definida para o k-uplo
(x1, ..., xk) ∈ Nk e escrevemos f (x1, ..., xk) ↑ .
Uma fun¸c˜ao n´umerica k-´aria que n˜ao est´a definida para algum k-uplo (x1, ..., xk) ∈
Nk, diz-se propriamente parcial; caso contr´ario, diz-se total. Como usual, uma fun¸c˜ao num´erica k-´aria parcial n˜ao ´e mais que uma fun¸c˜ao propriamente parcial ou total. Utilizamos a nota¸c˜ao f : Nk* N para afirmar que f ´e uma fun¸c˜ao num´erica,
k-´aria, parcial.
Dadas duas fun¸c˜oes num´ericas f e g, de aridade k, escrevemos f (x1, ..., xk) '
g (x1, ..., xk) para afirmar que f (x1, ..., xk) est´a definida se e somente se g (x1, ..., xk)
n˜ao est´a definida para um determinado k-uplo, tamb´em a outra n˜ao o est´a para esse k-uplo.
Defini¸c˜ao 38 Seja f uma fun¸c˜ao num´erica parcial k-´aria, arbitr´aria.
Dizemos que f ´e definivel combinatorialmente, ou ainda f ´e definiv´el-LC, se existe um termo F tal que, para quaisquer x1, ..., xk ∈ N se tem:
i) F x1...xk=w f (x1, ..., xk), se f (x1, ..., xk) ↓;
ii) F x1...xk n˜ao ´e normaliz´avel, se f (x1, ..., xk) ↑ .
Caso uma fun¸c˜ao parcial k-´aria f seja definiv´el-LC por um termo F , tamb´em afirmamos que o termo-LC F define-LC a fun¸c˜ao f .
Pela defini¸c˜ao, caso o termo F defina-LC uma fun¸c˜ao parcial f , ent˜ao est´a garan-tido, para qualquer k-uplo (n1, ..., nk) tal que f (n1, ..., nk) ↓, que F n1...nk ´e
norma-liz´avel, pelo Corol´ario 27, al´ınea a), j´a que F n1...nk =w f (n1, ..., nk), f (n1, ..., nk) ´e
um numeral e qualquer numeral est´a na forma normal. Por esta raz˜ao, na defini¸c˜ao 38 podemos mesmo substituir, na al´ınea i), =w por w. Al´em disso, o processo de
normaliza¸c˜ao providˆencia um algoritmo para calcular a fun¸c˜ao f num dado “input”. Basta ir efectuando sistematicamente todas as redu¸c˜oes poss´ıveis. Caso f esteja de-finida nesse input, sabemos que este processo p´ara num numeral, o qual d´a o valor da fun¸c˜ao; caso contr´ario, o processo n˜ao termina.
Quando uma fun¸c˜ao k-´aria ´e total, afirmar que a fun¸c˜ao ´e defin´ıvel combinatori-almente ´e garantir a existˆencia de um termo F que satisfaz a al´ınea i) da defini¸c˜ao acima, pois a fun¸c˜ao est´a definida para qualquer −→x ∈ Nk.
Conforme referimos, vejamos que toda a fun¸c˜ao parcial recursiva ´e defin´ıvel com-binatorialmente, pelo que as fun¸c˜oes num´ericas definiveis combinatorialmente con-cordam com a no¸c˜ao de computabilidade efectiva, permitindo abordar o estudo da computabilidade no contexto da L´ogica Combinat´oria.
Defini¸c˜ao 39 A classe F RP RIM das fun¸c˜oes primitivas recursivas ´e a
me-nor classe:
• que cont´em as seguintes fun¸c˜oes totais designadas por fun¸c˜oes at´omicas: I) A fun¸c˜ao constante nula Zero : N → N tal que, para todo n ∈ N, Zero (n) = 0; II) A fun¸c˜ao Sucessor Suc : N → N tal que, para todo o n ∈ N, Suc (n) = n + 1;
III) Para todo k ≥ 1 e cada 1 ≤ i ≤ k, a fun¸c˜ao projec¸c˜ao Pik : Nk → N tal que, para qualquer k-uplo (n1, ..., nk) tem-se Pik(n1, ..., nk) = ni.
• e ´e fechada para:
IV) a composi¸c˜ao: se g : Nk → N pertence a FR
P RIM e para cada 1 ≤ i ≤ k, hi :
Nj → N s˜ao elementos de FRP RIM, ent˜ao a fun¸c˜ao f : Nj → N , em que para
qualquer (n1, ..., nj) ∈ Nj se tem f (n1, ..., nj) = g (h1(n1, ..., nj) , ..., hk(n1, ..., nj)),
pertence a F RP RIM.. Diz-se que f se obt´em por composi¸c˜ao a partir de g e
h1, ..., hk, e denota-se por f = go hh1, ..., hki .
V) e a recurs˜ao primitiva: se g : Nk → N e h : Nk+2 → N pertencem a FR P RIM,
ent˜ao a fun¸c˜ao f : Nk+1 → N tal que que para qualquer y ∈ N e x
1, ..., xk∈ N
se tem
f (0, x1, ..., xk) = g (x1, ..., xk)
f (y + 1, x1, ..., xk) = h (y, f (y, x1, ..., xk) , x1, ..., xk)
pertence a F RP RIM. Diz-se que f se obt´em por recurs˜ao a partir de g e h e
denotamos por f = rec (g, h) .
Lema 40 Qualquer fun¸c˜ao at´omica φ ´e defin´ıvel combinatorialmente por um com-binador φ que est´a na forma normal.
Demonstra¸c˜ao. Sendo φ ´e uma fun¸c˜ao at´omica, ent˜ao: I) Para φ = Zero basta considerar Zero ≡Q I;
II) Para φ = Suc, tomamos Suc ≡P B; III) Para φ = Pk
i , para todo k ≥ 1 e cada 1 ≤ i ≤ k, consideramos Pik ≡ λx1...xk.xi.
´
E imediato que todos os termos indicados est˜ao na forma normal.
Lema 41 Existe um termo R que satisfaz a seguinte propriedade para quaisquer X, Y e k
(
RXY 0 =w X
RXY k + 1 =w Y k RXY k
Demonstra¸c˜ao. Para uma melhor compreens˜ao de como construimos o combinador R, consideremos a seguinte fun¸c˜ao primitiva recursiva φ definida por recorrˆencia: φ (0) = m e φ (k + 1) = ϕ (k, φ (k)), com ϕ uma fun¸c˜ao primitiva recursiva.
Para calcular φ (k) vamos considerar o par ordenado (0, φ (0)), isto ´e, o par (0, m), seguidamente iterar k vezes uma opera¸c˜ao f tal que f (n, φ (n)) = (n + 1, ϕ (n, φ (n))) e finalmente escolher a segunda componente do par ordenado `a esquerda da igual-dade anterior. Para definirmos o combinador R seguiremos um processo, combina-torial, an´alogo ao descrito.
Primeiro definimos D ≡ λxyz.z (Q y) x.
Pela defini¸c˜ao 36 e pelo Teorema 33 temos para quaisquer X, Y e k ( DXY 0 =w X DXY k + 1 =w Y (2.2) pois DXY 0 ≡ (λxyz.z (Q y) x) XY 0 w 0 (Q Y ) X ≡ Q I (Q Y ) X, por 0 ≡ Q I → w IX w X e DXY k + 1 w k + 1 (Q Y ) X ≡ XBk (Q Y ) X → w B (Q Y ) k (Q Y ) X w Q Y k (Q Y ) X → w Y
Intuitivamente, o termo Dm n pode ser visto como um construtor do par orde-nado (m, n), uma vez que a propriedade (2.2) d´a-nos um m´etodo efectivo de escolher uma das suas componentes.
Por outro lado, tamb´em D pode ser, informalmente, visto como um termo “con-dicional”, no sentido que DXY Z ≡ (Se Z ≡ 0 ent˜ao X, sen˜ao Y ).
Consideremos agora o termo Q ≡ λyv.D Suc v0 y v0 v1, sendo Suc o combinador que define a fun¸c˜ao at´omica Sucessor. Este termo satisfaz as seguintes propriedades para quaisquer X, Y e k
Q1) QY DkX =w D k + 1
Basta ter em conta o Teorema 33 e a propriedade (2.2): QY DkX = w D Suc DkX0 Y DkX0 DkX1 = w D Suc k Y kX = w D k + 1 Y kX
Assim, QY “imita” a opera¸c˜ao f acima descrita, caso Y seja um termo que defina ϕ.
Q2) (QY )k D0X =w DkXk para algum termo Xk (na verdade, Xk
cor-responde ao valor de φ (k) acima, caso Y defina ϕ e X seja m). Mostramos esta propriedade por indu¸c˜ao sobre k
• Passo base: Se k = 0 ´e imediato.
• Hip´otese de indu¸c˜ao: Admitamos (QY )k D0X =w DkXk, para algum
Xk.
(QY )k+1 D0X = w QY
(Qy)k D0X
= w QY DkXk , para algum Xk por hip´otese
de indu¸c˜ao
= w D k + 1 Xk+1, para algum Xk+1 por Q1)
Finalmente, definimos R ≡ λxyu.u (Qy) D0x 1. Tem-se
RXY k ≡ k (QY ) D0X 1, pelo Teorema 33 = w (QY )k D0X 1, pelo Teorema 37
= w DkXk1, pela propriedade Q2)
= w Xk, pela propriedade (2.2)
Por ´ultimo, vejamos que R satisfaz (2.1):
RXY 0 = w 0 (QY ) D0X 1, pelo Teorema 33
= w (QY )0 D0X 1, pelo Teorema 37
= w D0X1, por defini¸c˜ao de (QY )0
e
RXY k + 1 = w k + 1 (QY ) D0X 1, pelo Teorema 33
= w (QY )
k+1 D0X 1, pelo Teorema 37
= w (QY )
(QY )k D0X1, por defini¸c˜ao de (QY )k+1 = w QY DkXk 1, de acordo com a propriedade Q2)
= w D k + 1 Y kXk 1, pela propriedade Q1) = w Y kXk, pela propriedade (2.2) = w Y k RXY k
Lema 42 Qualquer fun¸c˜ao primitiva recursiva φ ´e defin´ıvel combinatorialmente por um termo φ que admite forma normal.
Demonstra¸c˜ao. O termo φ ser´a escolhido por indu¸c˜ao sobre a forma como obtemos fun¸c˜oes primitivas recursivas.
• Se φ ´e uma fun¸c˜ao at´omica: ´e imediato pelo Lema 40;
• Se φ = go hh1, ..., hki, com g : Nk → N, h1, ..., hk : Nj → N todas fun¸c˜oes
primitivas recursivas:
Por hip´otese de indu¸c˜ao, as fun¸c˜oes g, h1, ...e hk s˜ao defin´ıveis-LC pelos termos,
respectivamente G, H1, ... e Hk. Ent˜ao a fun¸c˜ao φ = go hh1, ..., hki ´e definivel-LC
pelo termo φ ≡ λx1...xj. (G (H1x1...xj) ... (Hkx1, ...xj)), como facilmente se verifica.
Al´em disso, por hip´otese de indu¸c˜ao os termos G, H1, ... e Hkadmitem forma normal,
pelo que tamb´em o termo φ. • Se φ =rec(g, h), com g : Nk
→ N e h : Nk+2
→ N fun¸c˜oes primitivas recursivas: Por hip´otese de indu¸c˜ao, g e h s˜ao fun¸c˜oes definiveis-LC pelos termos G e H, respectivamente, que admitem forma normal. Considerando R o termo definido no Lema 41, basta considerar o termo
φ ≡ λyx1...xk.R (Gx1...xk) (λyz.Hyzx1...xk) y, pois para quaisquer X1, ..., Xk
φ 0X1...Xk = w R (GX1...Xk) (λyz.HyzX1...Xk) 0 ,pelo Teorema 33
e
φ k + 1X1...Xk = w R (GX1...Xk) (λyz.HyzX1...Xk) k + 1, tendo em
conta o Teorema 33
= w (λyz.HyzX1...Xk) k R (GX1...Xk) (λyz.HyzX1...Xk) k ,
aplicando (2.1)
= w (λyz.HyzX1...Xk) k φ kX1...Xk , por defini¸c˜ao de φ
= w Hk φ kX1...Xk X1...Xk, pelo Teorema 33
Por G e H admitirem forma normal, tamb´em φ admite forma normal.
Lema 43 Existe um combinador µ na forma normal tal que:b (
b
µXY =w Y , se XY =w 0
b
µXY =w bµX SucY , se XY =w n + 1 para algum n
(2.3)
Demonstra¸c˜ao. Definimos µ ≡ λxy.Tx (xy) (Tx) y em que:b T ≡ λx.D0 λuv.u x Suc v u Suc v
D ≡ λxyz.z (Q y) x que satisfaz as propriedades mencionadas em (2.2). Sejam X e Y termos arbitr´arios e consideremos u, v /∈ V L (XY ) . Ent˜ao, tendo em conta o Teorema 33:
b
µXY = w TX(XY )(TX)Y
= w D0 λuv.u X Suc v u Suc v (XY ) (TX)Y
Por (2.2), tem-se: • Se XY =w 0 : b µXY =w 0(TX)Y ≡ 0≡QI Q I(TX)Y =w IY =w Y • Se XY =w n + 1, para algum n:
Novamente por aplica¸c˜ao do Teorema 33:
b
µXY = w λuv.u X Suc v u Suc v (TX)Y
= w TX X SucY (TX) SucY
= w µX SucYb
Lema 44 Toda a fun¸c˜ao total recursiva φ ´e definivel combinatorialmente por um termo φ que admite forma normal.
Demonstra¸c˜ao. Seja φ : Nk → N uma fun¸c˜ao total recursiva. Pelo teorema de
Kleene para a forma normal existem fun¸c˜oes primitivas recursivas g e h tal que φ (x1, ..., xk) = h (µy (g (x1, ..., xk, y) = 0))
Sabemos, por φ ser total, que para quaisquer x1, ..., xk∈ N existe y ∈ N tal que
g (x1, ..., xk, y) = 0. Tamb´em, por g e h serem fun¸c˜oes primitivas recursivas, ent˜ao
s˜ao definiveis-LC, digamos pelos termos G e H, respectivamente.
Primeiro iremos definir um termo J com a seguinte inten¸c˜ao: uma das formas para calcular µy ´e, por exemplo, definir um algor´ıtmo θ (y) que d´a o resultado final y se g (x1, ..., xk, y) = 0, e passa para θ (y + 1), caso contr´ario. Claro, que este
algor´ıtmo deve come¸car com y = 0, para que o resultado da execu¸c˜ao seja o menor y que satisfaz g (x1, ..., xk, y) = 0.
Definimos J ≡ λx1...xky.bµ (Gx1..., xk) y, com bµ conforme Lema 43. Temos que: JX1...XkY = w µ (GXb 1..., Xk) Y , pelo Teorema 33 = w ( Y , se GX1..., XkY =w 0 JX1...Xk SucY , se GX1..., XkY =w n + 1 por (2.3)
O termo J conforme definido pode ser visto como a forma combinat´oria do al-gor´ıtmo supramencionado. Por outras palavras, Jx1...xky ´e da forma: se Gx1..., xky =w
0 ent˜ao y caso contr´ario Jx1..., xk Sucy.
Definimos, ainda, F ≡ λx1...xk.H Jx1...xk0e consideramos
φ ≡ λx1...xk.bµ (Gx1...xk) 0I (F x1...xk).
Realmente, φ define-LC a fun¸c˜ao f e φ admite forma normal pois, para quaisquer x1...xk ∈ N, temos que
• Existe um y tal que µy (g (x1, ..., xk, y) = 0), pelo que φ (x1...xk) = h (y);
• Donde φx1...xk =w yI (F x1...xk) =w Iy(F x1...xk) =w F x1...xk =w Hy =w
h (y) =w φ (x1...xk).
Demonstra¸c˜ao. Imediato pelos lemas anteriores.
Por ´ultimo, para provarmos que toda a fun¸c˜ao parcial recursiva ´e defin´ıvel com-binatorialmente precisamos de apresentar outra no¸c˜ao.
De facto, sendo φ uma fun¸c˜ao parcial recursiva k-´aria necessitamos de garantir a existˆencia de um termo φ que garanta as duas condi¸c˜oes da defini¸c˜ao 38 e que seja claro que φx1...xk n˜ao ´e normaliz´avel quando φ (x1, ..., xk) n˜ao est´a definido, para
alguns x1, ..., xk ∈ N. Contudo, caso um termo n˜ao seja normaliz´avel, isto ´e, n˜ao
admita forma normal, n˜ao basta exibir uma qualquer sequˆencia de redu¸c˜ao, desse termo, infinita, pois vimos, em sec¸c˜oes anteriores, que um termo pode admitir uma sequˆencia de redu¸c˜ao infinita e admitir forma normal. Intuitivamente, j´a percebe-mos, pelos exemplos facultados, que a escolha do redexe contra´ıdo em cada passo de contrac¸c˜ao ´e fundamental para conseguirmos obter a forma normal de um termo, caso exista. Passamos a formalizar estas no¸c˜oes.
Defini¸c˜ao 46 Uma sequˆencia de contrac¸c˜oes finita ou infinita M ≡ M0 →w M1 →w
... diz-se uma sequˆencia de redu¸c˜ao do termo M. Designamos por comprimento da redu¸c˜ao o n´umero de contrac¸c˜oes dessa sequˆencia de redu¸c˜ao. Se uma sequˆencia de redu¸c˜ao de um termo ´e finita, termina ao fim de n contrac¸c˜oes, o comprimento da redu¸c˜ao ´e n. Se uma sequˆencia de redu¸c˜ao de um termo ´e infinita, o seu comprimento ´e ∞.
Defini¸c˜ao 47 Sejam X e Y dois termos tal que X →w Y . Dizemos que X ´e
contra´ıdo em Y por contrac¸c˜ao do redexe mais `a esquerda, escrevemos X →e w
Y se: i) X ≡Q X1X2 e Y ≡ X1; ii) X ≡P X1X2X3 e Y ≡ X1X3(X2X3) ; iii) X ≡ X1X2, X1 e →w Y1, X2 →w Y2 e Y ≡ Y1Y2 Escrevemos X e
w Y se X w Y e pelo menos uma das contrac¸c˜oes na
sequˆencia de redu¸c˜ao de X para Y ´e feita atrav´es da contrac¸c˜ao do redexe mais `
a esquerda. A rela¸c˜ao e
w designa-se por redu¸c˜ao mais `a esquerda.
Lema 48 Seja X um termo que admite uma sequˆencia de redu¸c˜ao infinita X0, ..., Xn, ...
i) X0 ´e X;
ii) Xi e
w Xi+1.
Ent˜ao X n˜ao admite forma normal.
Demonstra¸c˜ao. Apˆendice B.
Este Lema faculta-nos o que necessitamos para provar o ambicionado resultado:
Teorema 49 Qualquer fun¸c˜ao parcial recursiva φ ´e definivel combinatorialmente por um termo φ que admite forma normal.
Demonstra¸c˜ao. Seja φ : Nk * N uma fun¸c˜ao parcial, arbitr´aria. Pelo Teorema
Kleene para a forma normal existem fun¸c˜oes primitivas recursivas g e h tal que φ (x1, ..., xk) ' h (µy (g (x1, ..., xk, y) = 0))
Por g e h serem fun¸c˜oes primitivas recursivas, ent˜ao s˜ao definiveis-LC, digamos pelos termos G e H, respectivamente.
Neste caso, sabemos que µy pode n˜ao estar definido para todo o k-uplo.
Consideramos φ ≡ λx1...xk. bµ (Gx1...xk) 0I (F x1...xk), com F e J os termos definidos na demonstra¸c˜ao do Lema 44, mais precisamente:
F ≡ λx1...xk.H Jx1...xk0
e J ≡ λx1...xky.bµ (Gx1..., xk) y. Sejam x1, ..., xk tais que:
• φ (x1, ..., xk) ↓:
Ent˜ao existe k tal que g (x1, ..., xk, k) = 0. Seja j = µy (g (x1, ..., xk, y) = 0).
Temos que φx1...xk =w jI (F x1...xk) =w Ij(F x1...xk) =w F x1...xk=w φ (x1...xk)
• φ (x1, ..., xk) ↑:
Ent˜ao n˜ao existe k tal que g (x1, ..., xk, k) = 0. Mas para cada k existe pk tal que
g (x1, ..., xk, k) = pk+ 1, tendo em conta que g ´e uma fun¸c˜ao primitiva recursiva,
logo total.
Consideremos X ≡ Gx1...xk e M ≡ F x1...xk.
Tem-se para todo natural k, que Xk ≡ Gx1...xkk =w g (x1, ..., xk, k), por g
ser recursiva primitiva e defin´ıvel-LC pelo termo G. Por g (x1, ..., xk, k) = pk+ 1,
aplicando o Teorema de Church-Rosser e tendo em conta que cada numeral est´a na forma normal, temos precisamente que Xk w pk+ 1.