Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB 02 (c) 2007 Gustavo Motta 1 -calculus Sumário Redução- e igualdade Teorema de Church-Rosser 02 (c) 2007 Gustavo Motta 2 -calculus Redução- e igualdade A regra- () (x.P)Q [Q / x]P Para x, P e Q arbitrários, a expressão- (x.P)Q é chamada de -redex e o lado direito é chamado contractum O contractum de um -redex é, em geral, mais simples que o próprio -redex (x.x)Q Q (x.y)Q y mas (x.(x)x)x.(x)x [x.(x)x / x](x)x (x.(x)x)x.(x)x ou seja, o contractum é -congruente com o próprio -redex 02 (c) 2007 Gustavo Motta 3 -calculus Redução- e igualdade Redução- Definição – A relação M N (leia M -reduz para N) é definida por indução como segue 1. M N se M N 2. M N se M N é uma instância da regra- 3. Se M N para algum M e N, então para qualquer expressão- E, (M)E (N)E e (E)M (E)N também valem 4. Se M N para algum M e N, então para qualquer variável x, x.M x.N também vale 5. Se M E e E N, então M N também vale 6. M N apenas para os casos especificados nos itens de 1 a 5 02 (c) 2007 Gustavo Motta 4 -calculus Redução- e igualdade M -reduz para N se N é obtido de M pela troca de uma parte de M com a forma (x.P)Q pelo contractum [Q / x]P, ou N é obtido de M através de uma seqüência finita de dessas trocas A relação é reflexiva e transitiva, mas não é simétrica M N é invariante sob a conversão- Definição - M é -conversível (ou apenas igual) a N, em símbolos M = N, se e somente se M N, ou M N, ou N M, ou existe uma expressão- E tal que M = E e E = N. 02 (c) 2007 Gustavo Motta 5 -calculus Redução- e igualdade Noção de igualdade definida de maneira puramente formal Não há referência ao sentido, ao significado Embora seja relevante para o significado O significado das expressões- devem ser invariantes sob a conversão- Como decidir se duas expressões- são iguais ou não? Problema indecidível em geral A conversão- representa um caso especial de extensional equality 02 (c) 2007 Gustavo Motta 6 -calculus Redução- e igualdade O processo de Redução- visa simplificar as expressões- Termina quando não há mais -redexes Noção de forma normal Diz-se que uma expressão- está em forma normal quando não ocorre -redexes nela, i. e., quando não existe na expressão- uma subexpressão com a forma (x.P)Q 02 Uma expressão- em forma normal não pode mais ser reduzida É a mais simples dentre as expressões- que são iguais a ela 7 (c) 2007 Gustavo Motta -calculus Redução- e igualdade Atenção, podem existir expressões- como (x.(x)x)x.(x)x para as quais a redução- nunca termina Principal razão para a indecidibilidade da igualdade de expressões- arbitrárias Para certas expressões-, pode haver reduções- que terminam assim como aquelas que não terminam Ressalva: se existir pelo menos uma redução- que termine, então diz-se que essas expressões- têm uma forma normal 02 (c) 2007 Gustavo Motta 8 -calculus Redução- e igualdade Por exemplo, a forma normal da expressão (y.(z.w)y)(x.(x)x)x.(x)x é w apesar do fato de ela ter uma redução- que não termina 02 Caso uma expressão- tenha pelo menos uma redução- que termina, então pode-se encontrar tal redução de maneira simples, sem retrocesso (c) 2007 Gustavo Motta 9 -calculus Redução- e igualdade Caso uma expressão- tenha uma forma normal, então toda redução- que termina resulta na mesma forma normal (sob -congruência) Em outras palavras, a ordem com que os -redexes são contraídos é irrelevante, desde que a redução termine Corolário do teorema de Church-Rosser 02 (c) 2007 Gustavo Motta 10 -calculus Teorema de Church-Rosser Motivação Tendo-se um polinômio com duas variáveis x e y x y 2 2 para calculá-lo, é indiferente a ordem com a qual substituem-se x e y por seus valores 3 y 2 2 ou x 4 2 2 o resultado final não é afetado 3 4 9 16 25 2 02 2 (c) 2007 Gustavo Motta 11 -calculus Teorema de Church-Rosser A ordem das substituições não afeta o resultado final, caso a substituição seja definida corretamente Para quaisquer expressões-, P, Q e R, e variáveis x e y, tem-se que (x.(y.P)R)Q [Q / x](y.P)R ([Q / x]y.P)[Q / x]R (z.[Q / x]{z / y}P)[Q / x]R [[Q / x]R / z][Q / x]{z / y}P Ao mesmo tempo, tem-se (x.(y.P)R)Q (x.[R / y]P)Q [Q / x][R / y]P 02 De acordo com o teorema de Church-Rosser, ambos os resultados devem ser iguais (c) 2007 Gustavo Motta 12 -calculus Teorema de Church-Rosser Versão I Teorema – Se E M e E N, então existe algum Z tal que M Z e N Z E M N Z 02 Corolário – Se E M e E N, estando M e N em forma normal, então M N (c) 2007 Gustavo Motta 13 -calculus Teorema de Church-Rosser Versão II 02 Teorema – Se M = N, então existe algum Z tal que MZeNZ (c) 2007 Gustavo Motta 14 -calculus Teorema de Church-Rosser Versão II Corolário A – Se N está em forma normal e M = N, então M N Duas expressões- iguais em forma normal são -congruentes Para duas expressões- quaisquer, M e N, é sempre decidível se M N ou não 02 (c) 2007 Gustavo Motta 15 -calculus Teorema de Church-Rosser Versão II Corolário B – Se M = N, então ambas M e N têm a mesma forma normal (sob -congruência) ou senão ambas não têm formal normal A questão da igualdade de expressões- pode ser reduzida ao problema de decidir se elas têm ou não formas normais Infelizmente, não é decidível em geral 02 (c) 2007 Gustavo Motta 16 -calculus Bibliografia 02 Revesz, G. E. Lambda-Calculus, Combinators, and Functional Programming. Cambridge University Press, 1988. (c) 2007 Gustavo Motta 17