• Nenhum resultado encontrado

Normalização de termos no cáculo dos combinadores

N/A
N/A
Protected

Academic year: 2021

Share "Normalização de termos no cáculo dos combinadores"

Copied!
94
0
0

Texto

(1)

Faculdade de Ciˆencias

Departamento de Matem´

atica

Normaliza¸

ao de Termos no C´

alculo dos

Combinadores

Renata Maria Machado Teixeira

Mestrado em Matem´

atica

( ´

Algreba, L´

ogica e Fundamentos)

(2)
(3)

Faculdade de Ciˆencias

Departamento de Matem´

atica

Normaliza¸

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)

(4)
(5)

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.

(6)
(7)

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.

(8)
(9)

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.

(10)
(11)

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

(12)
(13)

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

(14)
(15)

Introdu¸

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]

(16)

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¸

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

(17)

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.

(18)

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.

(19)

2.1

ogica de Combinadores N˜

ao Tipada. Redu¸

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.

(20)

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

(21)

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 ;

(22)

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.

(23)

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] ;

(24)

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¸

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,

(25)

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

(26)

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.

(27)

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.

(28)

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.

(29)

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:

(30)

(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´.

(31)

• 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:

(32)

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(YZ) .

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)

(33)

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

(34)

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)

(35)

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

(36)

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

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¸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.

(37)

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

(38)

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¸ao por mudan¸ca de vari´aveis

(39)

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 ).

(40)

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),

(41)

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

(42)

(λ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.

(43)

2.6.1

Representa¸

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.

(44)

2.6.2

Representa¸

ao das Fun¸

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)

(45)

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;

(46)

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

(47)

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



(48)

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

(49)

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

(50)

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 

(51)

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).

(52)

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, ...

(53)

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.

Referências

Documentos relacionados

Verificamos que este modelo encapsula uma riqueza de comportamentos dinˆ amicos complexos que permite estudar v´ arios regimes tais como os ciclos econˆ omicos ou cen´ arios

A t´ ecnica do XSPH foi criada para dar um movimento mais suave ` as part´ıculas pr´ oximas, ou seja, velocidades quase idˆ enticas para uma por¸c˜ ao do fluido... Devido a ausˆ

Caso o usu´ ario deseje executar novamente um mesmo comando ´ e necess´ ario apenas cha- mar na shell uma referˆ encia ao comando desejado com o caracter “!”, como mostra o exemplo

As entradas de referˆ encia do arquivo .bib s´ o aparecer˜ ao na p´ agina de referˆ encias se forem citadas no texto. No fim do

I Complexidade temporal: O(|E |log|V |) com uma fila de prioridade Algoritmo de Bellman-Ford - Distˆ ancia de um n´ o para todos os outros (funciona em grafos com pesos negativos).

A partir do ingresso dos sorotipos DEN-3 e DEN-4 na cidade de Piura na regi˜ ao norte do Litoral come¸ ca a primeira epidemia da dengue hemorr´ agica na mesma regi˜ ao, a

Este trabalho visa estudar o efeito da aplica¸ c˜ ao de inseticidas e/ou larvicidas durante o ver˜ ao, considerando um modelo de otimiza¸ c˜ ao multiobjetivo que leva em conta a

Esse trabalho teve como objetivo identificar o conjunto de parˆ ametros ´ otimos do algo- ritmo NSGA-II acoplado ao operador SBX para cada problema de otimiza¸ c˜ ao