Práctica 1 Lambda Cálculo Tipado

Documentos relacionados
Lenguajes funcionales: λ-cálculo

Teoremas de Taylor. Capítulo 7

Lambda Cálculo Tipado (1/3)

Lambda-Cálculo. Mauro Jaskelioff 6/9/2011

Un álgebra de Heyting satisface distributividad, es lo que demostramos un poco más arriba (la prueba es muy similar). Recíprocamente, si se define

En 1936 se introdujeron dos modelos computacionales: Alan Turing inventó la máquina de Turing y la noción de función computable en sus

Distancia entre dos rectas que se cruzan Perpendicular común

MATRICES,DETERMINANTES Y SISTEMAS DE ECUACIONES LINEALES

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

PARADIGMAS DE PROGRAMACIÓN CALCULO LAMBDA CALCULO LAMBDA

Análisis lógico Cálculo de proposiciones

Introducción a la Lógica Modal

Cálculo Lambda - primera parte. Paradigmas de Lenguajes de Programación. Primer cuatrimestre

. Probar que las matrices de la forma B = k A + r I, donde k y r son números. 2x + az = 0. ax + y = n. Calcular: 0 1

Valores propios y vectores propios Diagonalización

Problemas de Álgebra 2 o de Bachillerato

Grado en Ciencias Ambientales. Matemáticas. Curso 11/12

LÓGICA FORMAL TEORIAS DE PRIMER ORDEN. Sintaxis y semántica

Movimientos. Teorema de Cartan-Dieudonné. Semejanzas.

TALLER DE MATEMÁTICAS NOTAS. Toda expresión algebraica del tipo. a n x n + a n 1 x n a 1 x + a 0. es un polinomio de grado n, si a n 0.

Llamaremos número real a cualquier fracción decimal. Las fracciones decimales periódicas se llaman números racionales, así:

Introducción al Lambda Cálculo (C)

Construcción Formal de Programas en Teoría de Tipos

Discusión de sistemas

Bases Formales de la Computación

Introducción al lambda cálculo

Contenido del curso Fundamentos de Lenguajes de Programación

Integración de Funciones Reales

5.2. Selección Adversa. Matilde P. Machado

El λ cálculo (sin tipos y con tipos)

Soluciones del capítulo 9 Optimización Estática

LAMBDA-CÁLCULO NO TIPADO

Álgebra II Primer Cuatrimestre 2016

Lista de ejercicios # 1. Ecuaciones diferenciales ordinarias de orden 1

Definiciones de computabilidad OTROS MODELOS COMPUTACIONALES. Computabilidad-Turing. Tesis de Church-Turing

Cálculo Lambda - primera parte. Paradigmas de Lenguajes de Programación. Segundo cuatrimestre

Fundamentos de lenguajes de programación cuántica

Lógica Lógica de Predicados

Lógica Lógica de Predicados. Motivación

ALGEBRA y ALGEBRA II SEGUNDO CUATRIMESTRE 2011 PRÁCTICO 3

Curso MATERIA: MATEMÁTICAS II INSTRUCCIONES GENERALES Y VALORACIÓN

Universidad Nacional de Colombia Departamento de Matemáticas Álgebra Lineal Básica - Grupo 3 Taller 3

Sintaxis LÓGICA COMPUTACIONAL CÁLCULO DE PROPOSICIONES. Funciones boolenas. Semántica

Práctico 6 Lógica de Predicados

Expresiones regulares, gramáticas regulares Unidad 3

La ED lineal de segundo orden homogénea. y (x) + p(x)y (x) + q(x)y(x) = 0 (1)

Medidas. Problemas para examen. Estos problemas están redactados por Egor Maximenko y Breitner Arley Ocampo Gómez.

EJERCICIO 1. Calcular la distancia AB.

Análisis convexo, cálculo diferencial y aplicaciones

Lógica Proposicional. Del conjunto de hipótesis Γ se deduce α?

Expresiones Regulares y Derivadas Formales

Forma Clausular. Forma Clausular

INSTITUTO POLITÉCNICO NACIONAL

Álgebra I Práctica 7 - Polinomios

Sobre álgebras topológicas

ÁLGEBRA LINEAL Problemas, 2006/2007

Lógica Proposicional. Significado de una Fórmula Proposicional

TALLER DE MATEMÁTICAS 1 ECUACIONES POLINÓMICAS

Lógica Proposicional

Expresiones regulares, gramáticas regulares

Clase 5 1. Lógica proposicional. Razonamientos

Lógica proposicional. Semántica Lógica 2018

El lenguaje P. Lógica y Computabilidad ( ) símbolos p. Verano convenciones. Lógica Proposicional - clase 1

Ecuaciones Diferenciales Ordinarias

R h R = R 1. φ : R 1 R 2 R 1. ker α = φ(ker α) R2. u R 1 R 2 R 1. φ(u) R 2. R 2 R 1 φ

5 = z. 2. Hallar el valor de m para que los puntos A(3,m,1), B(1,1,-1) y C(-2,10,-4) pertenezcan a la misma recta.

Sistema Bidimensional

Relaciones IIC1253. IIC1253 Relaciones 1 / 32

ESPACIOS VECTORIALES Y APLICACIONES LINEALES

Teorema de incompletitud de Gödel

Funciones de Clase C 1

Ejercicios de teoría de la medida

Introducción a la Teoría de Códigos

Problemas de Decisión

Problemas de Selectividad de Matemáticas II Comunidad de Madrid (Resueltos) Isaac Musat Hervás 24 de diciembre de 2017

LógicaS Modales. Ricardo Oscar Rodríguez Departamento de Computación, Fac. Ciencias Exactas y Naturales, Universidad de Buenos Aires, Argentina.

1. Ejercicios unidad temática 1

Matrices, determinantes y sistemas lineales

El Teorema de Stone-Weierstrass

Construcción Formal de Programas en Teoría de Tipos. Introducción a Coq

Trabajo Final Estructuras Algebraicas Módulos Proyectivos e Inyectivos

Problemas Regulares de Sturm-Liouville

Tema 2 Conjuntos convexos

Diferenciciación en R n

1. Teoría de Conjuntos y Funciones

Espacios vectoriales

Práctica 2: Cardinalidad. Propiedades básicas de los conjuntos

6.7. Clasificación de formas cuadráticas

Lambda cálculo no tipado

Formulaciones equivalentes del Axioma de Elección

Escuela de Matemáticas

Relación 1. Espacios vectoriales

2.1. Estructura algebraica de espacio vectorial

Problemas de factorización simultánea en módulos de Banach 1.

Métodos Matemáticos: Análisis Funcional

Completitud en Lógica de Predicados

Transcripción:

Práctica 1 Lambda Cálculo Tipado Eduardo Bonelli TP para LP 2012C1 Ejercicio 1 Probar que el conjunto de las β-formas normales se pueden describir como sigue N ::= λx 1... λx n.y N 1... N m. Ejercicio 2 Dada la caracterización de β-formas normales del ejercicio anterior responder a las siguientes preguntas: 1. Probar (por inducción en el tamaño de la forma normal) que no existe N P tal que solamente puede tener ocurrencias de la variable libre x P P. 2. Probar (por inducción en el tamaño de la forma normal) que todas las N P tal que solamente puede tener ocurrencias de variables libres x P P y z P deben ser de la forma z P o bien x(... (x(xz))...). 3. Probar que todos los términos cerrados en β-forma normal de tipo (P P ) (P P ) son de la forma n P o λf P P.f P P. Ejercicio 3 1. Comprobar, utilizando ejemplos, que las siguientes operaciones se comportan como se espera: M + M M sg M sg = λx N y N f A A z A.x f (y f z) = λx N y N f A A.x (y f) = λx N f A A z A.x (λu A.f z) z = λx N f A A z A.x (λu A.z) (f z) 2. Probar que (n A f A A ) (m A f A A ) = β (n + m) A f A A y que n A m A = β nm A, donde M N = λz.m(n(z)). 3. Probar que las funciones representables son cerradas por composición (la noción general de composición de la teórica). 1

Ejercicio 4 Si permitimos numerales de Church de tipos arbitrarios (i.e. N A con A arbitrario en lugar de A variable proposicional), podemos representar más funciones. En particular, la exponenciación. Probar que n A A m A = β (m n ) A (n > 0). Ejercicio 5 Completar la prueba de confluencia de βη demostrando los siguientes resultados: 1. M βη N implica M βη N 2. M βη N implica M βη N 3. M βη N y P βη Q implica M{x := P } βη N{x := Q} 4. M βη N implica N βη M 5. DP( βη ) 6. CR( βη ) Ejercicio 6 Probar WN( β ) completando los detalles del esquema de prueba visto en clase. Nota: Puede ser de utilidad la siguiente noción de creación. Considere λ. Si M β N y R es un redex en N dos situaciones pueden producirse: el redex R proviene (es un residuo o copia) de un redex S en M, o bien el redex R es nuevo (fue creado pues no proviene de ningún redex en M). Aquí hay unos ejemplos, donde se han subrayado los redexes de N que son residuos de alguno de M. M = (λu.u(wu))(ia) β (Ia)(w Ia) = N M = (λu.iu)p β IP = N Pero en M = (λu.u) (λv.p ) Q β (λv.p )Q = N el redex subrayado en N fue creado, pues no es residuo de ningún redex en M. En su PhD tesis [Lév78], Lévy muestra que hay solamente tres formas de crear nuevos redexes: 1. (λu.u) (λv.p ) Q β (λv.p )Q 2. (λu.λv.p )QR β (λv.p {u := Q})R 3. (λu.c[uq])(λv.p ) β C [(λv.p ) Q ] donde C = C{u := λv.p } y Q = Q{u := λv.p }. Ejercicio 7 1. Probar que si M está en β-forma normal y M η N, entonces N también está en β-forma normal. 2

2. Probar WN( βη ). Ayuda: Usar inciso anterior y Ej 6. Ejercicio 8 Probar WN( λ, ). Indicar cómo se modifica el esquema de creación de redexes y cómo debe extenderse la noción de grado de un redex. Ejercicio 9 1. Probar η-postponement: Si M η N β P, entonces existe Q tal que M + β Q η P. 2. Probar que SN( βη ) a partir de SN( β ). Ejercicio 10 Completar los detalles de la prueba de SN para λ, basada en candidatos de reducibilidad. 1. Probar que RED A satisface P1-3, para todo A en λ,. 2. Si M A, N B son reducibles, entonces también lo es ( M A, N B ) A B. 3. Si para todo N A reducible, M B {x := N A } es reducible, entonces λx A.M B es reducible. 4. Γ M A implica Γ = M A. Ejercicio 11 Extender la prueba anterior a λ,,+. Para ello considerar la siguiente inición de conjuntos de reducibilidad: M RED A+B si toda vez que M inl(p A ), entonces P A RED A y, además, si toda vez que M inl(q B ), entonces Q B RED B. Los términos neutrales son aquellos que no son de la forma M, N, λx A.M, inl(m) ni inr(m). Es decir, son: x, M N, π 1 (M), π 2 (M) y δ M (x.p ) (y.q). Ayuda: probar el siguiente lema. Sean M, N, P reducibles. Si P 1.P 1 RED A implica M{u A := P 1 } RED C y P 2.P 2 RED B implica N{v B := P 2 } RED C, entonces δ P (u A.M) (v B.N) RED C. Ejercicio 12 Probar SN de lambda cálculo no tipado con β, π i aplicando el método de David (http://www.lama.univ-savoie.fr/~david/ftp/sn.ps). Ejercicio 13 Probar CR( λ, ). Ejercicio 14 Considerar el siguiente contracting map de tipos y términos de λp 1 a λ. 3

( ) (r t 1... t n ) (A B) ( a ι.a) ( a ι.a) (x) (λx A.M) (M N) (ɛ(m) A ) ((λa ι.m) aι.a ) ((M t) A{a := t} ) flat(m) ([t, M] aι.a ) (let [a, y A ] = M in N B ) = = r, variable proposicional = (A) (B) = (A) = (A) = x = λx (A). (M) = (M) (N) = ɛ( (M)) (A) = (M) = = (M) = (λy (A). (N)) (M) 1. Mostrar que conmuta con la sustitución: a) (A{a := t}) = (A) b) (M{a := t}) = (M) c) (M{u := N}) = (M){u := (N)} 2. preserva tipabilidad: λp1 Γ M A implica λ (Γ) (M) A 3. M λp1 N implica (M) λ (N). Además, si M N, entonces (M) λ (N) hace al menos un paso. 4. Concluir que SN( λp1 ). Ejercicio 15 Dar una derivación del siguiente juicio en λp : α :, P : α λx α.λp P x.p : x α.p x P x Ejercicio 16 Supongamos que Γ = {α :, f : α α, R : α α, h 1 : x α.r x (f x), h 2 : x α, y α, z α.r x y R y z R x z} Dar una derivación del juicio: Γ λx α.h 2 x (f x) (f(f x)) (h 1 x) (h 1 (f x)) : x α.r x (f(f x)) Ejercicio 17 Dar una derivación α :, R : α α ( x α y α.r x y (R y x )) ( x α.r x x ) 4

Nota: Una relación binaria antisimétrica es irreflexiva. Ejercicio 18 Supongamos que λp Γ A : y Γ contiene P : A y Q : A. Dar una derivación de: 1. Γ λx xa.p x Q x.λy xa.p x.λz A.xz(yz) : ( x A.P x Q x) ( x A.P x) x A.Q x Ejercicio 19 Probar que los siguientes esquemas de inferencia son admisibles en λp : Γ, x : A, M : B Γ N : A Γ, {x := N} M{x := N} : B{x := N} Γ, x : A, B : κ Γ N : A Γ, {x := N} B{x := N} : κ{x := N} Γ, x : A, κ : Γ N : A Γ, {x := N} κ{x := N} : Ejercicio 20 Dado Γ = {prop :, T : prop, impl : prop prop prop, impl I : x prop y prop.(t x T y) T (impl x y), impl E : x prop y prop.t (impl x y) T x T y} Construir derivaciones de los siguientes juicios en λp : 1. Γ, x : prop impl i x x (λp T x.p) : T (impl x x) 2. Γ, x, y : prop, h : T y impl I (impl (impl x y) x) x (λp T (impl (impl x y) x).impl E (impl I (λq T x.h))) : T (impl(impl (impl x y) x) x) Ejercicio 21 En la téorica se vió la codificación shallow del lambda cálculo no tipado en λp. La relación P = β Q del lambda cálculo no tipado también se puede codificar como: P = β Q = eq P Q donde eq : D D es un predicado nuevo. Este ejercicio consiste en inir constantes que permitan probar que dos términos están relacionados por el predicado eq. Dos de estos son: refl : x D.eq x x sym : x D, y D.eq x y eq y x 5

1. Dar constantes que reflejen transitividad, compatibilidad con aplicación, compatibilidad con abstracción y el axioma β. 2. Dar una prueba (representado como un término de λp bajo el contexto que contiene a las constantes declaradas arriba) de la fórmula x ((λy.y)z) = β x z. Ejercicio 22 Mirar las notas de curso de Frank Pfenning (http://www.cs. cmu.edu/~fp/courses/comp-ded/handouts/cd.pdf) donde codifica Mini-ML (sintaxis, tipado y semántica operacional) en Twelf (una implementación de LF). Referencias [Lév78] Jean-Jacques Lévy. Réductions correctes et optimales dans le lambdacalcul. PhD thesis, Paris 7, 1978. 6