Fundamentos de Cálculo Lambda

Documentos relacionados
Programação Funcional - Introdução a Cálculo Lambda

Programação Funcional Cálculo Lambda - Aula Nº 3

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 17

O Cálculo λ sem Tipos

Programação Funcional Apontamentos (Versão 1.16)

Funções Recursivas. Prof.: Edson Holanda Teoria da computação - Diverio e Menezes

O Isomorfismo de Curry-Howard via Teoria de Categorias

Minicurso 1 Uma introdução ao cálculo lambda e a linguagens de programação funcionais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

2.2. A Semântica Operacional do Cálculo Lambda

Centro Universitário do Triângulo

Álgebra Linear e Geometria Analítica D

Métodos Numéricos Zeros Posição Falsa e Ponto Fixo. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

Cálculo Lambda Sem Tipos

Matemática para Ciência de Computadores

Forças exteriores representam a acção de outros corpos sobre o corpo rígido em análise.

Linguagens de Programação Programação Funcional (Haskell)

Teoria da Computação Ficha de exercícios

2 A Teoria de Conjuntos - Preliminares

JOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa

Lógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.

Função Quadrática e Proporcionalidade Inversa ( )

Espaços vectoriais com produto interno. ALGA 2008/2009 Mest. Int. Eng. Electrotécnica e de Computadores Espaços vectoriais com produto interno 1 / 19

5. Em polígonos semelhantes, a razão entre as áreas é igual à razão de semelhança ao quadrado.

Fundamentos 1. Lógica de Predicados

4 Conceito de Herança

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

17 AULA. Números Naturais: Axiomas de Peano LIVRO. META: Introduzir o conceito de números naturais através dos axiomas de Peano.

Capítulo Topologia e sucessões. 7.1 Considere o subconjunto de R 2 : D = {(x, y) : xy > 1}.

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

CÁLCULO DIFERENCIAL E INTEGRAL I LMAC, MEBIOM, MEFT 1 o SEM. 2014/15 2 a FICHA DE EXERCÍCIOS. k + e 1 x, x > 0 f(x) = x cos 1, x > 0

Introdução à Programação I

Acesso Sequencial Indexado

Introdução à Automação

ficha 5 transformações lineares

Estudo de funções. Universidade Portucalense Departamento de Inovação, Ciência e Tecnologia Curso Satélite - Módulo I - Matemática.

Processamento da informação. Prof. Fabrício Olivetti de França

Álgebra Linear e Geometria Anaĺıtica. Espaços Vetoriais Reais

DERIVADAS PARCIAIS. Seção 14.3

Programação II. Aula 3

Lógica Computacional DCC/FCUP 2017/18

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Língua Natural EXERCÍCIOS RESOLVIDOS

Método de Gauss-Jordan e Sistemas Homogêneos

Universidade Federal de Viçosa Centro de Ciências Exatas e Tecnológicas Departamento de Matemática

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 2. Nelma Moreira (DCC-FC) Fundamentos de Linguagens de Programação Aula 2 2 / 12

Lógica Computacional

LEI DA TRICOTOMIA EM N. Amanda Vitória de Jesus Mendes, Vinício Brás Oliveira Dias, João Carlos Moreira Universidade Federal de Uberlândia FACIP

Lógica Computacional

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07

Forma Normal de Boyce-Codd

EXERCÍCIOS DE REVISÃO ASSUNTO : FUNÇÕES

Resumo das aulas dos dias 4 e 11 de abril e exercícios sugeridos

Tecnologia dos Computadores 2002/2003. Exercícios

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

Aula 1: Introdução ao curso

Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

Álgebra Linear. 8 a Lista: a) Use o processo de ortogonalização de Gram Schmidt para construir uma base ortonormada para W.

ficha 2 determinantes

Calendarização da Componente Letiva

Transcrição:

Instituto Superior Técnico Universidade Técnica de Lisboa Lisboa, 2 de Novembro de 2006

Índice Introdução Aplicação e Abstracção Axiomática

Aplicação Introdução Aplicação e Abstracção Axiomática FA F é o algoritmo aplicado ao input A.

Abstracção Introdução Aplicação e Abstracção Axiomática Se M M[x] é uma expressão que contem x, então λx.m[x] exprime a função x M[x].

Conversão β Introdução Aplicação e Abstracção Axiomática O principal axioma do cálculo λ é: (λx.m)n = M[x := N], M,N Λ

Axiomas Lógicos e Regras Aplicação e Abstracção Axiomática Igualdade: M = N; M = N N = M; M = N, N = L M = L; Compatibilidade: M = M MZ = M Z M = M ZM = ZM M = M λx.m = λx.m

Axiomática Introdução Aplicação e Abstracção Axiomática Se M = N é demonstrável, designa-se como λ M = N ou abreviadamente M = N. Exemplo, (λy.yy)x = xx, então λ λx.x((λy.yy)x)x = λx.x(x x)x

Aplicação e Abstracção Axiomática Theorem 1. F X FX = X

Aplicação e Abstracção Axiomática Theorem 1. F X FX = X 2. Existe um determinador de pontos fixos Y λf.(λx.f (x x))(λx.f (x x)) tal que F F(YF) = YF

Aplicação e Abstracção Axiomática Demonstração do Proof. 1. Seja W λx.f(x x) e X WW. Então X WW (λx.f(x x))w = F(W W ) FX.

Aplicação e Abstracção Axiomática Demonstração do Proof. 1. Seja W λx.f(x x) e X WW. Então X WW (λx.f(x x))w = F(W W ) FX. 2. Por (1), temos YF = (λx.f(x x))(λx.f(x x)) X

Representação de Booleanos Combinadores correspondentes a valores lógicos: True λxy.x False λxy.y

Representação de Expressões Condicionais Combinadores correspondentes à construção de expressões condicionais por: (If _Then_Else) λbxy.bxy.

Representação de Pares Ordenados e Projecções Combinadores correspondentes à construção de pares ordenados por: [_, _] λxyz.zxy, (_) 0 λx.xtrue e (_) 1 λx.xfalse. Assim temos as seguintes abreviaturas: [M, N] [_, _]MN (M) 0 (_) 0 M (M) 1 (_) 1 M

Teorema de Church-Rosser Theorem Se M β N 1, M β N 2, então existe um N 3 tal que N 1 β N 3 e N 2 β N 3.

Consequências do Teorema de Church-Rosser 1. O cálculo λ é consistente, i.e. λ true = false. Senão true = β false, o que é impossivel, visto que true e false são β-nf s distintos.

Consequências do Teorema de Church-Rosser 1. O cálculo λ é consistente, i.e. λ true = false. Senão true = β false, o que é impossivel, visto que true e false são β-nf s distintos. 2. Ω (λx.xx)(λx.xx) não tem β-nf.

Consequências do Teorema de Church-Rosser 1. O cálculo λ é consistente, i.e. λ true = false. Senão true = β false, o que é impossivel, visto que true e false são β-nf s distintos. 2. Ω (λx.xx)(λx.xx) não tem β-nf. 3. Para determinar a β-nf de um termo, as varias subexpressões podem ser reduzidas por ordens diferentes, se for encontrada uma β-nf, ela é única.

Teorema da Normalização Theorem Se M tem uma forma normal, a redução em M do redex cuja abstração surja mais à esquerda, corresponde a essa forma normal.

O Cálculo-λ originou linguagens funcionais. Vantagens de linguagens baseadas no Cálculo-λ Uma base matemática elegante. Definição formal indepentente do arquitectura onde é implementada. Correspondência directa com objectos matemáticos. Programas modulares.