05(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.

Slides:



Advertisements
Apresentações semelhantes
Exercícios Resolvidos
Advertisements

Grafos eulerianos 1.
Decidibilidade e Indecidibilidade
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Lógica de Predicados e Representação de Conhecimento
Sistemas Realimentados
Algoritmos para Geração de Variáveis Aleatórias
Algoritmo I Aula 04 Expressões Lógicas.
Matrizes especiais Matriz linha Matriz do tipo 1 x n, ou seja, com uma única linha. Por exemplo, a matriz A =[ ], do tipo 1 x 4. Matriz coluna.
Funções de mais de uma variável - Limite e Continuidade
Pearson Education Slide 1. Pearson Education Slide 2 Capítulo 2 Criado por Frederick H. Colclough, Colorado Technical University Fluxo de Controle.
Nice Maria Americano da Costa
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
Eletrônica Digital Funções e Portas Lógicas
Introdução à Programação Lógica
Algoritmos e Estruturas de Dados
Análise Dada uma cadeia de terminais w, queremos saber se wL(G) ou não. Se for o caso, poderemos querer achar uma derivação de w. Um algoritmo que pode.
A Teoria dos Determinantes
Estruturas de Controle
O que você deve saber sobre
SISTEMAS LINEARES I Prof. Marlon.
Polinômios Prof. Marlon.
EQUAÇÕES POLINOMIAIS Prof. Marlon.
SISTEMAS LINEARES II Prof. Marlon.
02(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
04(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Introdução ao -calculus
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Linguagem de 1ª ordem da teoria de conjuntos
Amintas engenharia.
3 - Equações Lineares de Segunda Ordem
PROPRIEDADES DOS DETERMINANTES
MATEMÁTICA PARA NEGÓCIOS
ESTATÍSTICA.
Campus de Mal. Cdo. Rondon - PR. SISTEMAS ESCALONADOS – FORMA ESCADA.
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
MATEMÁTICA Prof. Carlos Alexandre.
Determinantes Propriedades dos determinantes Matriz Transposta
Grafos Árvores Geradoras.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Paradigma de Divisão e Conquista
Operações com frações (semana 10).
TEMA 5: Subtracção de Números Inteiros e Decimais
Instituto de Aplicação Fernando Rodrigues da Silveira (CAp/UERJ)
Indução Matemática Recursão
O número n é chamado índice; O número a é chamado radicando;
Algoritmos e Estruturas de Dados I – Ponteiros
UNIVERSIDADE SEVERINO SOMBRA
Funções de várias variáveis
POTENCIAÇÃO E FUNÇÃO EXPONENCIAL
Estatística Aula 13 Prof. Marllus Gustavo Ferreira Passos das Neves
1 O  -Cálculo & Linguagens Funcionais Rafael Dueire Lins Departamento de Informática Universidade Federal de Pernambuco - Recife - Brasil.
SISTEMAS LINEARES Prof. Moacir.
Operadores Relacionais e Lógicos
Cálculo Lambda (l – Calculus)
INE Fundamentos de Matemática Discreta para a Computação
Lambda Cálculo & Programação Funcional
BCC101 – Matemática Discreta
Equações.

Cálculo Lâmbda (l – Calculus)
Potenciação an = a . a . a a (a ≠ 0) n fatores onde: a: base
Anjolina Grisi de Oliveira
Lógicas Combinatoriais e Implementações Rafael Dueire Lins Departamento de Informática Universidade Federal de Pernambuco.
TEORIA DOS NÚMEROS Aula 2 – Princípio da Indução Finita
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
MATEMÁTICA E SUAS TECNOLOGIAS Ensino Médio, 2º Ano
Transcrição da apresentação:

05(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB

-calculus 05(c) 2007 Gustavo Motta 2 Sumário Eliminação de variáveis bounded: bracket abstraction

-calculus 05(c) 2007 Gustavo Motta 3 Eliminação de variáveis bounded: bracket abstraction Segundo um teorema fundamental de Schönfinkel e Curry O -calculus inteiro pode ser rearranjando na teoria de combinadores, que tem apenas uma operação básica: a aplicação A abstração é representada com a ajuda de dois combinadores distintos – S e K – denominados de combinadores padrão

-calculus 05(c) 2007 Gustavo Motta 4 Eliminação de variáveis bounded: bracket abstraction Observação A aplicação ( x.(P)x)Q reduz para ([Q / x]P)Q que, em geral é diferente de (P)Q Lema – Para quaisquer expressões-, P e Q, e uma variável x tal que x (P), temos ( x.(P)x)Q (P)Q

-calculus 05(c) 2007 Gustavo Motta 5 Eliminação de variáveis bounded: bracket abstraction Conclusão Isto significa que, para x (P), a expressão x.(P)x é extensionally equal a P, embora tenham diferentes formas normais Ou seja, as regras e são insuficientes para provar a igualdade x.(P)x = P, para todo x (P) embora essas duas expressões representem a mesma função extensional Para o -calculus ser extensionally complete, é preciso adicionar uma nova regra

-calculus 05(c) 2007 Gustavo Motta 6 Eliminação de variáveis bounded: bracket abstraction A regra (eta) ( ) x.(P)x P, sempre que x (P) A adição dessa regra ao nosso sistema axiomático permite estender a noção de igualdade- para extensionally equality, que é formalmente definida como igualdade-

-calculus 05(c) 2007 Gustavo Motta 7 Eliminação de variáveis bounded: bracket abstraction Questão A eliminação das abstrações pelo uso de combinadores Toda expressão- sem variáveis livres pode ser considerada um combinador Variáveis livres podem ser abstraídas de quaisquer expressões- Por exemplo, se u e v são as únicas variáveis livres em P, logo u. v.P é um combinador com (( u. v.P)u)v = P Toda expressão- pode ser trocada por uma equivalente que tenha apenas constantes, combinadores e variáveis livres aplicadas para um e outro

-calculus 05(c) 2007 Gustavo Motta 8 Eliminação de variáveis bounded: bracket abstraction Expressões de combinadores Sintaxe ::= | ::= | | ::= ( ) Agora, vamos provar que os combinadores S e K são suficientes para eliminar todas as abstrações S x. y. z.((x)z)(y)z K x. y.x

-calculus 05(c) 2007 Gustavo Motta 9 Eliminação de variáveis bounded: bracket abstraction Observações O combinador K é o mesmo que true O combinador I pode ser deduzido de S e K (( x. y. z.((x)z)(y)z)K)K ( y. z.((K)z)(y)z)K z.((K)z)(K)z z.z I = ((S)K)K

-calculus 05(c) 2007 Gustavo Motta 10 Eliminação de variáveis bounded: bracket abstraction Expressão combinadora padrão É aquela que na qual os únicos combinadores são os combinadores padrão Bracket abstraction Operação utilizada para eliminar variáveis bounded de expressões- Equivalente combinatorial a abstração- [x]M = x.M

-calculus 05(c) 2007 Gustavo Motta 11 Eliminação de variáveis bounded: bracket abstraction Algoritmo para bracket abstraction Entrada: uma variável x e uma expressão combinadora padrão M Saída: uma expressão combinadora padrão [x]M, com [x]M = x.M Se M c, onde c é uma constante, então seja [x]M = (K)c Se M = C, onde C é um dos combinadores padrão, então seja [x]M = (K)C Se M v, onde v é uma variável, então seja [x]M = I para x v e seja [x]M = (K)v para x v Finalmente, se M = (P)Q para quaisquer expressões combinadoras padrão, P e Q, então seja [x]M = ((S)[x]P)[x]Q

-calculus 05(c) 2007 Gustavo Motta 12 Eliminação de variáveis bounded: bracket abstraction Teorema – Para toda expressão- E pode-se encontrar uma expressão combinadora padrão F, tal que E = F Prova Dada uma expressão- arbitrária E, nós sucessivamente eliminamos suas variáveis bounded pela realização de bracket abstraction de dentro para fora. Isto significa aplicar o algoritmo visto para as abstrações mais internas que ocorram em E. Desse modo, obtemos um E tal que E = E, contendo menos abstrações que aquelas em E. Repetindo este processo com E no lugar de E, chegaremos a uma expressão combinadora padrão F = E.

-calculus 05(c) 2007 Gustavo Motta 13 Eliminação de variáveis bounded: bracket abstraction Exemplo (( x. y.(x)(y)y) z.(x)(z)z)( u. v.u)w (( x.((S)[y]x)[y](y)y)((S)[z]x)[z](z)z)( u.(K)u)w (( x.((S)(K)x)((S)[y]y)[y]y)((S)(K)x)((S)[z]z)[z]z)(((S)[u ]K)[u]u)w (( x.((S)(K)x)((S)I)I)((S)(K)x)((S)I)I)(((S)(K)K)I)w ((((S)[x](S)(K)x)[x]((S)I)I)((S)(K)x)((S)I)I)(((S)(K)K)I )w... ((((S)((S)(K)S)((S)(K)K)I)((S)((S)(K)S)(K)I)(K)I)((S)( K)x)((S)I)I)(((S)(K)(K)I)w que é igual a expressão- original, cuja forma normal é (x)(w)w

-calculus 05(c) 2007 Gustavo Motta 14 Bibliografia Revesz, G. E. Lambda-Calculus, Combinators, and Functional Programming. Cambridge University Press, 1988.