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

Tamaño: px
Comenzar la demostración a partir de la página:

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

Transcripción

1 El λ cálculo (sin tipos y con tipos) Blas Carlos Ruiz Jiménez Pablo Guerrero García Dpto. de Lenguajes y Ciencias de la Computación Dpto. de Matemática Aplicada Universidad de Málaga Pza. El Ejido s/n, Málaga, España e mails blas@lcc.uma.es pablito@lcc.uma.es fax th March 2002

2 ii

3 Contents I El λ cálculo sin tipos 1 0 Lambda expresiones Sintaxis Variables libres y asociadas Subtérminos y contextos Semántica operacional Evaluación de λ expresiones δ reducción β conversión Reducción en Λ Relaciones definibles en Λ λ teorías Sustituciones y α equivalencias Convenio de variables y concepto de sustitución La sustitución frente a las relaciones en Λ Eta conversión y extensionalidad Formas normales El concepto de forma normal Confluencia Los teoremas de Church Rosser Formas normales por la cabeza Órdenes de reducción El teorema de estandarización iii

4 iv CONTENTS 2.4 Formas débil normales Teoría de combinadores Combinadores Los combinadores estándares Potencias y potencias de K La teoría de combinadores Fundamentos de LC Relación entre λ términos y términos combinatorios Reducción en forma perezosa Generadores y bases Equivalencia entre λc y LC Puntos fijos Expresando la recursión Combinadores para puntos fijos Lambda definibilidad Operaciones lógicas Constantes y operaciones lógicas Computabilidad y λ definibilidad Sistemas de numerales y numerales de Church Funciones λ definibles y recursivas. Teorema de Kleene Aritmética y Numerales de Church Extensión del λc con la aritmética Listas en el λc puro λ definibilidad de las funciones básicas para listas Las listas en un λc con constantes Autointerpretación en el λc Un autointérprete para el λc Aplicaciones de la autointerpretación Solubilidad Introducción Concepto y caracterización de la solubilidad Interpretación computacional de la solubilidad

5 CONTENTS v 6 Semántica denotacional Introducción Interpretación sobre un modelo aplicativo Álgebras combinatorias y λ álgebras Álgebras combinatorias Interpretación de λ términos con constantes λ álgebras λ modelos Concepto y caracterización El modelo de términos Modelos sintácticos Modelos sobre dominios reflexivos Incompletitud de los λ modelos El teorema de Böhm Resolubilidad y resultados de complitud II El λ cálculo con tipos 93 III Apéndices 95

6 vi CONTENTS

7 Prólogo En la parte I presentamos un lenguaje simple llamado lambda cálculo (λc) que permite la descripción de las funciones matemáticas y de sus propiedades; fue introducido por Church en los años 30 como fundamento de la matemática (funciones y lógica) y constituye un modelo formal; muchos lenguajes funcionales son a menudo descritos como un super λc o λc extendido; de hecho, los programas funcionales pueden ser traducidos a esta notación. El principal problema del λc como lenguaje funcional es la libertad para combinar términos, ya que es un lenguaje sin tipos (type free); una forma de restringir tal libertad es con el λc con tipos, introducido también por Church (1934) y Curry (1941). En la parte II nos ocuparemos del λc con tipos. vii

8 viii CONTENTS

9 Part I El λ cálculo sin tipos 1

10

11 Chapter 0 Lambda expresiones 0.0 Sintaxis El lambda cálculo (λc) es un lenguaje simple que permite la descripción de las funciones matemáticas y de sus propiedades; fue introducido por Church en los años 30 como fundamento de la matemática (funciones y lógica) y constituye un modelo formal; muchos lenguajes funcionales (como Haskell [Ham95]) son a menudo descritos como un super λc o λc extendido; de hecho, los programas funcionales pueden ser traducidos a esta notación. EJEMPLO 0.0. La expresión Haskell \x -> 2 * x se escribe en el λc así: λx. 2 x y denota una función de un solo argumento tal que al objeto x le asocia el objeto 2 x. En el ejemplo anterior se observa que: El símbolo λ sirve para denotar funciones. El punto. se usa para separar el argumento (o variable instanciable) del cuerpo de la función. En el λc se utiliza notación prefija. Las expresiones como las del ejemplo 0.0 se llaman λ abstracciones (para simplificar, λa) y son un caso particular de λ expresiones (para simplificar, λe) o λ términos. La variable instanciable es muda; si sustituimos el identificador de la variable por una nueva variable, sustituyendo tal variable también en el cuerpo, se realiza una α conversión y se obtienen equivalencias alfabéticas, como en λx. 2 x α λy. 2 y 3

12 4 0. Lambda expresiones Una α equivalencia con dos funciones significa que las dos funciones son la misma, y por tanto debemos identificarlas; así escribiremos α en lugar de α (o también directamente ), con lo cual: λx.x λy.y λx.y λz.y λx.x λz.x Luego para introducir una igualdad en el λc (es decir, una teoría con igualdad) necesitaremos la α regla o identificación sintáctica; el uso de ambas puede plantear problemas como veremos más tarde. El cuerpo de una λa puede contener a su vez otra λa. EJEMPLO 0.1. La expresión Haskell \x -> \y -> (x + y) * 2 se escribe en el λc: λx.λy. (+ x y) 2 aunque a veces la expresión anterior se suele escribir de forma más compacta: λxy. (+ x y) 2 Obsérvese que las λ abstraciones tienen un solo argumento (ello permite traducir fácilmente los lenguajes con parcialización implícita); si es necesario especificar varios se escriben en forma separada o bien se usa la forma compacta presentada en el ejemplo 0.1. También se obtiene una λe al aplicar una función a un objeto. Así, aplicando la función del ejemplo 0.0 al objeto 3 ( λx. 2 x ) 3 Luego la aplicación en el λc se hace como en todos los lenguajes funcionales; si aparecen varios argumentos convenimos en asociar por la izquierda (al igual que en Haskell, donde la parcialización es implícita). De esta manera, las siguientes λe son equivalentes sintácticamente: λx.λy.λz.e x y z λx.(λy.(λz.e) x) y) z Definición 0.0 (Lambda expresión) La sintaxis BNF para las λe es (tomada de [Bar84]): exp ::= cons constante predefinida var identificador de variable ( λ var. exp ) λ abstracción ( exp exp ) aplicación

13 0.0. Sintaxis 5 NOTA Si prescindimos de las constantes se obtiene el λc puro; en el presente apartado aparecen algunos ejemplos con constantes pero podemos prescindir de ellos si se pretende estudiar un λc puro (siempre se dará un ejemplo alternativo sin constantes). Si M y N son λe, la combinación (M N) es una λe que se llama aplicación; en la abstracción λx.e, x se llama la variable asociadora o ligadora (o instanciable) y E se llama el cuerpo de la abstracción. Convenio 0.0 Sobrecargamos el significado de (igualdad sintáctica) con: Los paréntesis más externos no se escriben. La abstracción es asociativa a la derecha: λx 1 x 2... x n.m λ x.m λx 1.(λx 2.(... (λx n.m)... )) donde x x 1 x 2... x n. Además, puede prescindirse del punto si va seguido de un paréntesis abierto. La aplicación es asociativa a la izquierda: M N 1 N 2... N n (... ((M N 1 ) N 2 )... N n ) EJEMPLO 0.2. Con el convenio anterior se tienen las igualdades sintácticas: Eliminación de paréntesis externos: λx.(+ 2 x) ( λx.(+ 2 x) ) λx.x (λx.x) Asociatividad derecha para la abstracción: λxy.y x λx.(λy.(y x)) λxy.y x λx(λy(y x)) Asociatividad izquierda para la aplicación: λx.x y N λx.((x y) N) λx.x (y N) λx.(x (y N)) (λx.x) y N λx.x y N (λx.x) y N ((λx.x) y) N

14 6 0. Lambda expresiones NOTACIÓN Algunos autores proponen una sintaxis alternativa para suprimir el convenio de asociatividad (a izquierda para aplicaciones y a derecha para cuerpos de λe); por ejemplo, [Rev88] propone la sintaxis alternativa exp ::= cons constante predefinida var identificador de variable λ var. exp λ abstracción ( exp ) exp aplicación de forma que escribe λx.λy.(y) x en lugar de λxy.y x; en [Rev88] se defiende tal notación diciendo que es más fácil construir un analizador sintáctico ya que es una gramática LL1; además, tal notación está mas cerca de una notación parcializada como la de Haskell. Es obvio que si prescindimos de tales convenios de parentización la escritura será muy engorrosa y larga. Aquí se va a seguir la notación de [Bar84]. 0.1 Variables libres y asociadas El ámbito de una variable en una abstracción λx.e se extiende a la derecha tanto como sea posible (hasta el primer paréntesis no cerrado o hasta el final de la expresión); una variable x en una expresión E se dice ligada o asociada si aparece en el ámbito de una abstracción de variable instanciable x; en otro caso se dice libre (así, una variable que aparezca en una expresión será o libre o ligada; no tiene sentido hablar de libre o ligada si la variable no aparece en la expresión). EJEMPLO 0.3. se tiene que: Analizando las variables que aparecen en las λe siguientes, En λy.x (λx.x y) la primera x es libre y las otras dos ligadas; las dos y es son ligadas. En + x ((λx. + x 1) 4) x aparece libre (en primer lugar) y ligada (segundo y tercer lugar). Definición 0.1 (Conjunto de variables libres) Denotando con φ[e] el conjunto de variables de E que aparecen en forma libre, éste se define inductivamente en la forma. φ[x] = {x}. φ[λx.m] = φ[m] {x}. φ[m N] = φ[m] φ[n]

15 0.2. Subtérminos y contextos 7 EJEMPLO 0.4. φ[λxy.x] = φ[λx(λy.x)] = φ[λy.x] {x} = Denotaremos con Λ el conjunto de lambda expresiones y con Λ o el conjunto de λe sin variables libres (los términos de Λ o se llaman combinadores). 0.2 Subtérminos y contextos Definición 0.2 (Subtérmino) M es un subtérmino de N (M N) si M sub[n], donde el conjunto sub[n] formado por todos los subtérminos de N se define inductivamente en la forma. sub[x] = {x}. sub[λx.n] = λx.n sub[n]. sub[m N] = sub[m] sub[n] Un contexto C[ ] es una λe de la cual se extrae alguna sub-λe; es decir, una λe con un hueco, por ejemplo C[ ] ((λx.λy.[ ]) E) F De forma precisa, tenemos la siguiente definición BNF: Definición 0.3 (Contexto) La sintaxis BNF para los contextos es: contexto ::= [ ] hueco var variable ( λ var. contexto ) ( contexto contexto ) Al colocar una expresión M en el hueco de un contexto C[ ] se obtiene una nueva λe denotada con C[M]. Ciertas variables libres de una expresión M pueden quedar asociadas al colocarlas en un contexto. EJEMPLO 0.5. La expresión M λx.y x tiene como variable libre y, pues φ[m] = φ[λx.y x] = y mientras que colocando M en el contexto C[ ] λxy.[ ] se tiene que: φ[c[m]] = φ[c[λx.y x]] = φ[λxy.(λx.y x)] =

16 8 0. Lambda expresiones

17 Chapter 1 Semántica operacional 1.0 Evaluación de λ expresiones δ reducción La evaluación de una expresión se compone de pasos de reducción donde cada uno de los pasos se obtiene por reescritura; así e e (e se reescribe en e ) Tal evaluación permite describir la semántica operacional de un lenguaje funcional: partiendo de un estado inicial (expresión inicial) mediante un cómputo (reescritura) se obtiene un estado final (expresión final). Cada reducción de e reemplaza cierta subexpresión suya de acuerdo con ciertas reglas; tales subexpresiones se llaman redexes (reducible expression). Se considera finalizado el cómputo cuando ya no aparecen más redexes. EJEMPLO 1.0. La expresión Haskell if 3>2 then 3-2 else 2-3 cuya traducción al λc extendido es COND (> 3 2) ( 3 2) ( 2 3) tiene 3 redexes: > Hay esencialmente dos tipos de reglas: Las reglas predefinidas, que son operaciones primitivas del lenguaje; en particular las reglas para las constantes. Las reglas que vienen dadas según un programa. 9

18 10 1. Semántica operacional Se llaman δ reducciones las reducciones con reglas que transforman constantes, y se describen con δ (son predefinidas y caracterizan a las constantes). EJEMPLO 1.1. La evaluación de la expresión puede dar lugar al siguiente cómputo (+ 1 2) ( 4 1) (+ 1 2) ( 4 1) δ (+ 1 2) 3 δ 3 3 δ 9 Obsérvese que la expresión inicial tiene dos δ redexes; podríamos haber evaluado (transformado) la expresión anterior a partir del primer redex: (+ 1 2) ( 4 1) δ 3 ( 4 1) δ 3 3 δ 9 El orden de evaluación es muy importante aunque en algunos casos el resultado no depende de éste (en el sentido que más tarde precisaremos). En Haskell tenemos las siguientes δ reglas (predefinidas) para la condicional: if True then e else e δ e if False then e else e δ e De la misma forma se pueden definir reglas de reducción del tipo δ para ciertas funciones predefinidas para el λc; así, la función condicional CON D (cierta constante para el λc extendido) tiene las siguientes reglas de reducción: COND T RUE E F δ E COND F ALSE E F δ F β conversión La reducción más importante es la β reducción y es el proceso de copia del argumento sobre el cuerpo de una abstracción, reemplazando todas las ocurrencias de la variable instanciable por el argumento: (λx.e) u β [x := u]e

19 1.0. Evaluación de λ expresiones 11 con lo cual una β reducción equivale a una sustitución en el cuerpo de la abstracción; la sustitución [x := u]e se lee sustituir en E todas las apariciones libres de x por u. La regla puede utilizarse también en el sentido opuesto: (λx.e) u β [x := u]e y en ese caso se llama una β expansión. Si el sentido no se precisa se habla de β equivalencia: (λx.e) u = β [x := u]e NOTACIÓN En [Bar84] la sustitución se escribe sin embargo, [Dij89] utiliza mientras que en [Rev88] se emplea e[x := u] x := u.e [u/x]e Aquí utilizamos una variante de la notación de Dijkstra [x := u]e ya que enfatiza mejor el hecho de que una sustitución es un operador. En general la reducción de una λe produce otra λe; una cadena de reducciones se describe en forma simplificada con EJEMPLO 1.2. (i) (λx. x x) 2 β 2 2 δ 4 (λx. x x) 2 βδ 4 (ii) (λx.x y) (λz.z) β (λz.z) y β y (λx.x y) (λz.z) β y (iii) ((λx.λy. x y) 7) 8 β (λy. 7 y) 8 β 7 8 δ 56 ((λx.λy. x y) 7) 8 βδ 56 (iv) (λf.f 3) (λx. + x 1) β (λx. + x 1) 3 β δ 4 (λf.f 3) (λx. + x 1) βδ 4 La reducción βδ genera una relación = βδ de igualdad 1, que es una relación de equivalencia (i.e., tiene las propiedades reflexiva, simétrica y transitiva); esta equivalencia debe verificar entre otras cosas A βδ B A = βδ B 1 Escribimos = βδ ya que las reglas utilizadas son la β y las predefinidas

20 12 1. Semántica operacional Se pretende además que la igualdad = βδ sea una igualdad sustitutiva : si dos términos u y v son iguales, al reemplazar en una expresión un subtérmino por expresiones iguales no se altera la igualdad, es decir: u = βδ v [F := u]e = βδ [F := v]e Todos estos conceptos se pueden introducir para cualquier tipo de reducción. 1.1 Reducción en Λ Relaciones definibles en Λ Siendo R una relación binaria definida en Λ: R Λ Λ escribiremos también xry cuando (x, y) R. Entre tales relaciones las más interesantes son: β = { ( (λx.m) N, [x := N]M ) M, N Λ } η = { ( λx.m x, M ) M Λ } βδ = β δ βη = β η βηδ = β η δ Definición 1.0 (Relación compatible) R es una relación compatible si A, B, M, N Λ (A, B) R (M A, M B) R, (A N, B N) R, (λx.a, λx.b) R Definición 1.1 (Igualdad) Una igualdad (sustitutiva) es una relación de equivalencia compatible. Definición 1.2 (Reducción) Una reducción es una relación compatible, reflexiva y transitiva (no necesariamente simétrica). Dada una relación R en Λ, a partir de ella se pueden definir de forma inductiva las siguientes relaciones: Definición 1.3 (Cierre compatible de una relación) R es el cierre compatible de R o reducción en un paso, es decir, la mínima relación que verifica los axiomas (A, B) R A R B A R B M A R M B A R B A N R B N A R B λx.a R λx.b

21 a b b reflexiva = a b 1.1. Reducción en Λ 13 Definición 1.4 (Cierre reflexivo y transitivo de una relación) R es el cierre reflexivo y transitivo de R, es decir, la mínima relación que verifica A R B A R B A R A A R B B R C A R C Definición 1.5 (Equivalencia generada por una relación) = R es la (relación de) equivalencia generada por R, es decir, la mínima relación verificando A R B A = R B A = R B B = R A A = R B B = R C A = R C NOTACIÓN También suele utilizarse la siguiente notación: = para el cierre reflexivo de para el cierre transitivo de = para el cierre reflexivo y transitivo de Lema 1.0 Si 1 2, entonces: ( = 1 = 2) = = Demostración: EJERCICIO 1.0. Ayuda: probar a b b transitiva a b Corolario 1.0 Demostración: ver ejercicio anterior. ( R1 R2 ) = R1 R 2 Lema 1.1 Para la relación R (cierre compatible de R), se verifica: M R N si y sólo si existe un contexto C[ ] tal que (M C[P ]) (N C[Q]) ((P, Q) R) Demostración: EJERCICIO 1.1. Lema 1.2 Las relaciones R, R, = R son todas compatibles, con lo cual R es una reducción y además = R es una igualdad. Demostración: EJERCICIO 1.2. (por inducción estructural)

22 14 1. Semántica operacional λ teorías La λ teoría llamada λ cálculo puro o λc tiene como fórmulas M = N, donde M y N son λ expresiones, y como axiomas: Axiomas de equivalencia: M = M M = N N = M M = N N = P M = P Axiomas de compatibilidad: β regla: M = N Y M = Y N M = N M X = N X M = N (ξ regla) λx.m = λx.n (λx.m) N = [x := N]M Es decir, una λ teoría es una teoría con igualdad compatible donde es válida la β regla. Es de reseñar que: Por ahora se distinguirá entre la igualdad = β generada por β y el constructor = de las fórmulas de la λ teoría λc, pues para identificarlos habría que probar M = β N λc M = N La ξ regla 2 también se conoce como extensionalidad débil y viene a decir que si M y N son iguales entonces tienen el mismo comportamiento como funciones (como cuerpos de funciones). Algunos autores también añaden al λc la α regla: (α regla) λx.m = λy.[x := y]m si y no aparece en M aunque nosotros la consideraremos una equivalencia sintáctica en lugar de un axioma; así, podemos escribir λx.x λy.y. Además, es evidente que M N M = N De los axiomas de compatibilidad se deduce que al sustituir términos iguales en un contexto se obtienen términos iguales; más precisamente: Lema 1.3 Sea C[ ] un contexto. Si M = N entonces C[M] = C[N] Demostración: EJERCICIO 1.3. (por inducción estructural sobre C[ ]) 2 Las denominaciones β regla, ξ regla,..., son por razones históricas

23 1.2. Sustituciones y α equivalencias 15 Otras λ teorías interesantes son: El λ cálculo extensional o λη teoría, que se obtiene al añadirle a λc el axioma: (η regla) λx.m x = M El λδ cálculo o λ teoría no pura, que se obtiene al añadirle al λc algunas constantes y δ reglas. 1.2 Sustituciones y α equivalencias Convenio de variables y concepto de sustitución La sustitución de un β redex puede plantear problemas si la λe contiene el mismo identificador en dos abstracciones. EJEMPLO 1.3. Una β reducción para la λe (λx.(λx.x) (+ 1 x)) 1 produce resultados erróneos si se sustituye la x de la λe interior (λx.x) (atención, no la x como variable instanciable en (+ 1 x)); en efecto, (λx.(λx.x) (+ 1 x)) 1 β [x := 1](λx.x) [x := 1](+ 1 x) β (λx.1) (+ 1 1) δ (λx.1) 2 β 1 y en consecuencia, para la igualdad = βδ generada por βδ se tendría: (λx.(λx.x) (+ 1 x)) 1 = βδ 1 La reducción anterior tiene un error ya que la sustitución [x := 1]E debe entenderse sustituir x por 1 en todas las ocurrencias de x como variable libre. Así pues tenemos la siguiente reducción correcta: (λx.(λx.x) (+ 1 x)) 1 β [x := 1](λx.x) [x := 1](+ 1 x) β (λx.x) (+ 1 1) δ (λx.x) 2 β 2

24 16 1. Semántica operacional En general, la sustitución [x := u]e se debe interpretar como: sustituir x por u en todas las apariciones libres de x en e EJERCICIO 1.4. Probar que EJEMPLO 1.4. λx.(λx. + ( x 1)) x 3) 9 = βδ 11 Sea K λxy.x. Entonces β K M (λxy.x) M (λy.m) de donde se tendría K M = β λy.m y en particular K y = β λy.y. Pero sabemos que podemos identificar (K )λxy.x λxz.x, de donde también tendremos α β K y (λxz.x) y (λz.y) y debe tenerse también K y = β λz.y; es decir: (K y = β λz.y) (K y = β λy.y) y por ser = β una igualdad, λz.y = β λy.y pero observamos que esto es inconsistente si = β es sustitutiva ya que se tendrá λz.y = β λy.y (λz.y)u = β (λy.y)u y = β u y esto es absurdo (el por qué se analizará en el siguiente ejercicio). EJEMPLO 1.5. Sea F λxy.y x. Entonces:! β regla F M N = β N M! tomando M y y N x F y x = β x y pero también se tiene:

25 1.2. Sustituciones y α equivalencias 17 F y x ((λx(λy.y x)) y) x = β! β regla (λy.y y) x = β! β regla x x luego debe darse: x y = x x y de aquí puede deducirse (ver nota y ejercicio siguiente) que todos los términos del λc son iguales (lo que equivale a inconsistencia). NOTA En una teoría T con igualdad donde son aplicables los axiomas (siendo A y B igualdades) A (B A) ( B A) (( B A) B) A, (A B) B (modus ponens) se tiene que los dos siguientes enunciados son equivalentes: T es consistente (i.e., existe una igualdad M = N no demostrable) no existen M, N tales que T (M = N) y T (M = N) como se demuestra en [Dav89] (pp ). Luego son equivalentes M, N Λ : λc (M = N) El λc es inconsistente. EJERCICIO 1.5. Probar que x y = x x [ M, N Λ : λc (M = N) ] EJEMPLO 1.5. (continuación) El fallo en este ejemplo está en el paso (λx(λy.y x)) y = β λy.y y ya que la variable libre y externa queda asociada de forma mágica después de la transformación; esto contiene una contradicción ya que dos términos iguales deben tener las mismas variables libres, pero: φ[(λxy.y x) y] = φ[λxy.y x] φ[y] = y = y φ[λy.y y] = φ[y y] y =

26 18 1. Semántica operacional que es contradictorio. Por tanto el paso anterior es erróneo. Por otro lado, estamos identificando los términos α equivalentes; en ese caso: (λxy.y x) y = α (λxz.z x) y = β λz.z y Realmente el problema está en la definición de la sustitución [x := N]M, pues en algunos casos para calcular [x := N]M es obligatorio efectuar una α conversión. Para resolver el problema podemos, al igual que en [Bar84] (p. 26), adoptar el siguiente criterio: Convenio 1.0 (Convenio sobre variables (CV)) Si una serie de λ términos y/o sustituciones (como [x := N]) aparecen juntos en cierto contexto (demostración, definición, formulación,... ), entonces todas las variables instanciables de tales términos se considerarán distintas de las variables libres. EJEMPLO 1.4. (continuación) Si tenemos K λxy.x, entonces en el término (K y) debemos renombrar la variable y de K. EJEMPLO 1.5. (continuación) Si F λxy.y x y M y, al calcular (u operar con) F M debemos renombrar la variable instanciable y de F (obsérvese que la y de M no se puede renombrar porque es libre). Con este convenio es fácil definir por inducción estructural la sustitución [x := N]M: Definición 1.6 (Sustitución) Teniendo en cuenta de una vez por todas el convenio de variables, se define: Obsérvese que: [x := N]x N [x := N]y y si x y [x := N](P Q) [x := N]P [x := N]Q [x := N](λy.P ) λy.[x := N] [x := N]M no es una λe pero se identifica sintácticamente con alguna (como se muestra con el uso de ). El operador sustitución se entiende asociativo a la derecha: [x := A][y := B]M [x := A]([y := B]M) En la cuarta regla no es necesario añadir si (y x) (y φ[n]) ya que se usa el convenio de variables y tales condiciones son implícitas.

27 1.2. Sustituciones y α equivalencias La sustitución frente a las relaciones en Λ Lema 1.4 (Lema de sustitución) Las sustituciones verifican las siguientes propiedades: (S1) (x y x φ[l]) [y := L][x := N]M [x := [y := L]N][y := L]M (S2) M = N [x := E]M = [x := E]N (S3) E = F [x := E]M = [x := F ]M Demostración: (S1) Por inducción estructural sobre M: 1. M es una variable M x [y := L][x := N]M [y := L][x := N]x [y := L]N [x := [y := L]N]x! x y [x := [y := L]N][y := L]x M y, con x y (trivial) M z, con z x z y (trivial) 2. M λz.p [y := L][x := N]λz.P! Por (CV), z no aparece instanciable ni en N ni en L [y := L]λz.[x := N]P! Por (CV), z no aparece instanciable ni en N ni en L λz.[y := L][x := N]P! Hipótesis de inducción λz.[x := [y := L]N][y := L]P! Igual razonamiento [x := [y := L]N][y := L]λz.P 3. M P Q (trivial) (S2) Por inducción sobre la estructura de la derivación M = N:

28 20 1. Semántica operacional 1. M = N es conclusión de la β regla (λy.a) B }{{} M = [y := B]A }{{} N [x := E]M [x := E](λy.A) B! Definición de sustitución (λy.[x := E]A) [x := E]B = β [y := [x := E]B][x := E]A! Por (S1) ya que por (CV), y x y φ[e] [x := E][y := B]A [x := E]N 2. M = N es conclusión del axioma de compatibilidad Y M }{{} M M = N = Y N }{{} N (S3) Por inducción estructural sobre M. EJERCICIO 1.6. Completar la demostración del lema de sustitución. Lema 1.5 Siendo R una relación en Λ: A R B [x := A]M R [x := B]M (por inducción estructural sobre M, uti- Demostración: EJERCICIO 1.7. lizando la compatibilidad de R ) Lema 1.6 Siendo R una relación en Λ: M R N [x := A]M R [x := A]N Demostración: EJERCICIO 1.8. (búsquese un contraejemplo) Definición 1.7 (Relación sustitutiva) Una relación R es sustitutiva si M, N, A Λ : (M, N) R ( [x := A]M, [x := A]N ) R

29 1.2. Sustituciones y α equivalencias 21 Lema 1.7 Si R es sustitutiva, también lo son R, R y = R Demostración: EJERCICIO 1.9. (por inducción estructural) Teorema 1.0 β es sustitutiva. Demostración: Si (M, N) β, entonces existen términos P, Q tales que M (λy.p ) Q N [y := Q]P y tenemos que probar que ( [x := A]M, [x := A]N ) β; pero ( [x := A]M, [x := A]N ) ( [x := A](λy.P ) Q, [x := A][y := Q]P )! Definición de sustitución, lema de sustitución y (CV) ( (λy.[x := A]P ) [x := A]Q, [y := [x := A]Q][x := A]P ) que es una instancia de la β regla. Corolario 1.1 Las relaciones β, β y = β son sustitutivas. Demostración: Se concluye directamente del teorema 1.0 y del lema 1.7. Teorema 1.1 En un λc puro, se tiene: M = β N λc M = N Demostración: ( ) Por inducción sobre la estructura de la derivación M = N: 1. Si M = N es conclusión de la β regla (λy.a) B }{{} M entonces es trivial, ya que M β N = [y := B]A }{{} N 2. Si M = N es conclusión del axioma de compatibilidad entonces λc M = N Hipótesis de inducción M = β N Lema 1.2 Y M = Y N M = β N Y M }{{} M M = N = Y N }{{} N

30 22 1. Semántica operacional ( ) Basta probar que M β N λc M = N M β N λc M = N y por inducción sobre la estructura de la derivación M = β N (definición 1.5): M = β N λc M = N EJERCICIO Completar la demostración del teorema anterior. NOTACIÓN La conclusión del teorema anterior es que la igualdad = β generada por β y la igualdad = generada por los axiomas de la definición 1.6 son la misma; a partir de ahora se usará un mismo símbolo = para ambas. 1.3 Eta conversión y extensionalidad En el λc siempre se tiene: (λx.m) x = M y en general (λ x.m) x = M ( x x 1 x 2... x n ) siendo [ x := N] [x n := N]... [x 1 := N] Sin embargo, la η regla (η regla) λx.m x = M (donde el cuerpo de la función es M x) no es necesariamente cierta. EJEMPLO 1.6. Consideremos la función: suc λx. + 1 x de forma que: suc y = + 1 y y la función suc tiene el mismo comportamiento que la función parcial + 1 pero no pueden considerarse iguales salvo que se considere la η regla: (λx. + 1 x) = + 1

31 1.3. Eta conversión y extensionalidad 23 Tal regla es en cierta forma equivalente a la regla de extensionalidad: (ext) M x = N x M = N si x φ[m N] Es decir, si M x se comporta como N x para alguna variable no libre en ambas, entonces M y N son iguales. Esta propiedad es el principio de extensionalidad. Al añadirle al λc la regla (ext) se pueden obtener algunos axiomas de los de la definición 1.6. EJERCICIO Demostrar que al añadirle al λc la regla (ext) se tiene: X Λ M = N M X = N X Teorema 1.2 (Curry, 1941) λc (ext) es equivalente a λη Demostración: 1. λc (ext) λη x φ[m]! β regla (λx.m x) x = M x! regla ext λx.m x = M que es la η regla. 2. λη λc (ext) (x φ[m N]) (M x = N x)! ξ regla λx.m x = λx.n x! η regla M = N de donde λη (ext). EJEMPLO 1.7. Sea la función parcial COND T RUE 3 Veamos que en el ληδ cálculo tal función es igual a λx.3 Ello lo podemos comprobar de dos formas:

32 24 1. Semántica operacional A través de la η regla: COND T RUE 3 =! η regla λx.cond T RUE 3 x =! δ regla para COND λx.3 A través de la regla (ext): T RUE =! Reflexividad de = 3 = 3 =! β regla 3 = (λx.3) y =! δ regla para COND COND T RUE 3 y = (λx.3) y! regla (ext) COND T RUE 3 = λx.3

33 Chapter 2 Formas normales 2.0 El concepto de forma normal Definición 2.0 (R redex) Un término M se dice que es un R redex si para algún término N se tiene que M R N. Definición 2.1 (R forma normal) Un término M se dice que está en R forma normal (R FN) si no contiene ningún subtérmino que sea un R redex. Un término N se dice que es una R FN de otro término M (equivale a decir que M tiene a N como R forma normal) si N está en R FN y M = R N. Lema 2.0 Siendo M un término que está en R FN, entonces: (1) no existe un término N tal que M R N (2) M R N M N donde R es el cierre compatible y R el reflexivo. Demostración: (1) Se procederá por reducción al absurdo: supongamos que estando M en R FN, se tiene que M R N; entonces por el lema 1.1 existirían P, Q y un contexto C[ ] tales que (M C[P ]) (N C[Q]) (P, Q) R con lo cual el subtérmino P sería un R redex (ya que (P, Q) R P R Q) y M no estaría en R FN. (2) Razonamos por inducción sobre la derivación M R N (ver definición 1.4, página 13): 25

34 26 2. Formas normales M R N no puede (por (1)) haber sido obtenida de Si M R N ha sido obtenida de entonces M N Si M R N ha sido obtenida de EJERCICIO 2.0. M R N M R N M R M N M R Q Q R N M R N entonces por hipótesis de inducción se tendrá (M Q) (Q N), de donde M N Probar con un contraejemplo que ( N :: M R N M N) M está en R FN i.e., que la propiedad (2) del lema 2.0 no caracteriza a las formas normales. Las formas normales se corresponden con la idea de fin de cómputo en los lenguajes funcionales. Así pues, el evaluador en un lenguaje funcional debería obedecer al esquema: mientras existan redexes reducir uno de ellos No todas las expresiones tienen forma normal; es decir, existen formas no normales que no pueden reducirse a forma normal, como muestra el siguiente EJEMPLO 2.0. Si D λy.y y, considérese la expresión Ω D D: Ω (λy.y y) (λy.y y) que no está en forma normal (ella misma es un β redex) y se reduce directamente según la β regla (renombramos la variable de la función para más claridad): Ω (λz.z z) (λy.y y) = β [z := λy.y y](z z) (λy.y y) (λy.y y) Ω Por tanto, el cómputo de la expresión Ω no termina y Ω no tiene una forma normal.

35 2.1. Confluencia 27 Es interesante observar que no podemos identificar los términos sin FN ya que ello introduce inconsistencias (ver ejercicio 2.6). Por tanto, identificar todos los términos que no terminan traerá problemas. 2.1 Confluencia Interesa saber si las formas normales son únicas (salvo α equivalencias). Esto será consecuencia de la propiedad de confluencia. Definición 2.2 (Propiedad del diamante) Sea una relación en Λ; se dice que verifica la propiedad del diamante (lo cual se notará mediante = ) si se tiene M, P, Q : (M P ) (M Q) : R :: (P R) (Q R) o gráficamente: P M R Q EJERCICIO 2.1. Probar que β = Definición 2.3 (Propiedad de confluencia o de Church Rosser) Una relación R se dice confluente o que tiene la propiedad de confluencia o también que tiene la propiedad de Church Rosser (lo cual se notará mediante R CR) si la relación inducida R verifica la propiedad del diamante: R CR R = Lema 2.1 Si = entonces = Demostración: EJERCICIO 2.2. Definición 2.4 (Propiedad débil de Church Rosser) Una relación R se dice que tiene la propiedad débil de Church Rosser (lo cual se notará mediante R = d ) si se tiene M, P, Q : (M R P ) (M R Q) : Z :: (P R Z) (Q R Z)

36 28 2. Formas normales EJERCICIO 2.3. Probar que β = d Definición 2.5 (Propiedad fuertemente normalizante) Una relación R se dice fuertemente normalizante (lo cual se notará mediante R SN) si toda reducción de la forma M R M termina, es decir M, {M n } n 0 (M 0 M) :: M i R M i+1 Teorema 2.0 (Newman) Si R SN y R = d, entonces R CR Demostración: EJERCICIO 2.4. Teorema 2.1 (Church Rosser) Sea R CR; entonces: M = R N Z :: (M R Z) (N R Z) Demostración: por inducción sobre la estructura de la derivación M = R (definición 1.5): N M = R N es consecuencia de M R N M = R N y tomamos Z N. M = R N es consecuencia de N = R M M = R N y por hipótesis de inducción: M = R N es consecuencia de Z :: (N R Z) (M R Z) M = R L L = R N M = R N y, por hipótesis de inducción, existen términos P y Q verificando M L N P Q

37 2.1. Confluencia 29 y por la propiedad de confluencia tenemos que existe R verificando: M L N P Q R y ahora basta aplicar la transitividad de R. Corolario 2.0 Sea R CR; entonces: (1) si N es una R FN de M, entonces M R N (2) si un término tiene forma normal, dicha forma normal es única (salvo α equivalencias) Demostración: (1) Si N es una R FN de M, entonces por el teorema existe Z tal que (M R Z) (N R Z) y por estar N en R FN se tiene (por el lema 2.0) que Z N; luego M R N (2) Si N 1 y N 2 son dos R FN de M entonces N 1 = R N 2 (= R M), y por el teorema existe Z tal que (N 1 R Z) (N 2 R Z) y de aquí, por el lema 2.0, N 1 Z N 2. Teorema 2.2 Toda forma normal puede expresarse como: λx 1 x 2... x n.x M 1... M m n, m 0 siendo M 1,..., M m formas normales. Demostración: puede verse en [Dav89] (pág. 164) y en [Bar84] (pág. 176 (8.3.18)).

38 30 2. Formas normales Corolario 2.1 (Conjunto FN de formas normales) El conjunto FN de formas normales puede definirse en forma inductiva de la manera siguiente: (1) x FN (2) si M 1,..., M m FN entonces x M 1... M m FN (3) si M FN entonces λx.m FN Es decir, FN es el menor conjunto verificando (1) (3). Demostración: siendo C el menor subconjunto de Λ verificando (1) (3), hay que probar: C FN : es trivial que FN verifica (1) (3) FN C: basta probar (por inducción sobre A): A x, trivial A FN A C A λx 1 x 2... x n.x M 1... M n, con M 1,..., M m FN A λx 1 x 2... x n.x M 1... M n! h.i., A x M 1... M n, props. (2) y (1) A λx 1 x 2... x n.a, con A C! prop. (3) n veces A C 2.2 Los teoremas de Church Rosser El teorema 2.1 necesita que la relación en cuestión cumpla la propiedad CR. En esta sección se consideran los teoremas de Church Rosser, los cuales afirman que tanto β como βη son CR y por tanto para dichas relaciones es aplicable el teorema 2.1 y el corolario 2.0. Las demostraciones originales (1936) eran muy complicadas y muchos teoremas y generalizaciones se han publicado en los últimos 50 años. Aquí daremos la demostración expuesta en [Bar84] (esencialmente la de P. Martin Löf y W. Tait), y para βη CR daremos un esbozo usando la técnica de Hindley Rosen. Teorema 2.3 (Church Rosser, 1936) β CR Demostración: hay que probar que β = ; para ello, supongamos que existe una relación (no confundir con β ) que verifica:

39 2.2. Los teoremas de Church Rosser 31 (a) = β β (e) = Entonces, por (e) y por el lema 2.1 Por (a), = ( = β ) β y ya que ( = β ) β tendremos = β. Luego todo consiste en encontrar tal relación. Esto se verá en el siguiente lema. Lema 2.2 Sea la relación definida en forma inductiva como la mínima relación verificando: (1) M M (2) (M 1 M 2 ) (N 1 N 2 ) λx.m 1 λx.m 2, M 1 N 1 M 2 N 2, (λx.m 1 ) N 1 [x := N 2 ]M 2 Entonces: (a) = β β (b) (M 1 M 2 ) (N 1 N 2 ) [x := N 1 ]M 1 [x := N 2 ]M 2 (c) λx.m N M :: (N λx.m ) (M M ) L M 2 N 2, M 2, N 2 :: M 1 M 2, N 1 N 2 (d) M 1 N 1 L (e) = P 1, P 2, N 2 :: M 1 λx.p 1, L [x := N 2 ]P 2, P 1 P 2, N 1 N 2 Demostración: (a) Para demostrar que = β hay que probar M = β N M N (por inducción sobre la derivación M = β N)

40 32 2. Formas normales Si M = β N es consecuencia de M β M con M N, entonces M M por (1) Si M = β N es consecuencia de la β regla, entonces M (λx.e) u, N [x := u]e y bastará probar (λx.e) u [x := u]e que se deduce de (2) tomando M 1 M 2 E y N 1 N 2 u mientras que para demostrar β basta probar que β verifica (1) (2) del lema, lo cual es trivial por ser sustitutiva. (b) Por inducción estructural sobre derivaciones del tipo M 1 M 2. (c) Por inducción estructural sobre derivaciones del tipo M M. (d) Por inducción estructural sobre derivaciones del tipo M 1 M 2. (e) Es suficiente probar que M, P :: M P : ( Q :: M Q ( R :: (P R) (Q R) ) ) y ello por inducción estructural sobre la derivación M P (para más detalles, véase [Bar84] (págs )). Corolario 2.2 El λ cálculo es consistente Demostración: procediendo por reducción al absurdo, supongamos que sea inconsistente; entonces para cualesquiera λ expresiones M y N se tiene que M = N es un teorema; en particular, siendo M y N dos formas normales tendremos λc M = N

41 2.2. Los teoremas de Church Rosser 33 pero ya que λc A = B A = β B entonces tendremos M = β N, siendo M y N dos formas normales. Pero, por el corolario 2.0.(2), tendremos M N, y ahora para llegar a un absurdo basta tomar dos formas normales no α equivalentes. Al extender el λc con ciertos axiomas (indeseables) se pueden introducir inconsistencias, como se muestra en los siguientes ejercicios. EJERCICIO 2.5. Probar que λc (K = S) es inconsistente, siendo K λxy.x S λxyz.x z (y z) EJERCICIO 2.6. de axiomas Probar que λc F es inconsistente, siendo F el conjunto F = { M = N M, N Λ :: M, N no tienen F N} Demostrar que la aplicación de λ expresiones no es aso- EJERCICIO 2.7. ciativa. EJERCICIO 2.8. Probar que λc (K = (K I)) es inconsistente, siendo K λxy.x I λx.x Teorema 2.4 η CR Demostración: como se tiene que η = ( = η ), bastará con probar que para lo cual hay que demostrar = η = M, P :: M = η P : ( Q :: M = η Q ( R :: (P = η R) (Q = η R) ) ) por inducción estructural sobre la derivación M = η P (para más detalles, véase [Bar84] (pág. 65)).

42 34 2. Formas normales Lema 2.3 (Hindley Rosen) (1) Si dos relaciones 1 y 2 verifican ( 1 = ) ( 2 = ) y conmutan A 1 B es decir 2 2 C 1 D A, B, C :: (A 1 B) (A 2 C) D :: (C 1 D) (B 2 D) entonces ( 1 2 ) = (2) Sean dos relaciones σ y γ tales que σ CR y γ CR; si las relaciones inducidas σ y γ son commutativas en el sentido de (1), entonces σγ CR Demostración: (1) Para probarlo basta considerar un diagrama como el siguiente: (2) Se deduce directamente aplicando (1) ya que, por el corolario 1.0, ( σ γ ) = σγ Teorema 2.5 (Church Rosser, 1936) βη CR Demostración: se basa en aplicar el lema de Hindley Rosen a β y η (luego previamente habría que demostrar que β y η son commutativas en el sentido de (1)). Corolario 2.3 El λη cálculo es consistente Demostración: EJERCICIO 2.9.

43 2.3. Formas normales por la cabeza Formas normales por la cabeza Órdenes de reducción Hay ocasiones en las cuales la elección del siguiente redex a reducir es determinante para la finalización del cómputo. EJEMPLO 2.1. Se considera la λe (λx.y) Ω siendo Ω (λx.x x) (λx.x x) Esta λe tiene dos redexes: uno interior (que es Ω) y otro exterior (que es toda la expresión); si reducimos el exterior se obtiene y, mientras que si reducimos el interior volvemos a obtener la misma expresión. Por consiguiente, en este caso el orden de reducción es importante. El orden de reducción determina la elección del redex a reducir; para identificar cuál será el redex elegido se usará la siguiente nomenclatura: El redex de más a la izquierda es aquél cuya λ (o cuya primitiva, si es un δ redex) aparece textualmente a la izquierda de cualquier otro redex de la expresión. Un redex externo es aquél que no está contenido en otro redex. Un redex interno es aquél que no contiene otro redex. EJEMPLO 2.2. Clasificando los redexes que aparecen en las siguientes λe: En la λe (λx.x) a }{{} interno interno {}}{ ((λx.x) b) se han marcado dos redexes internos; el marcado por abajo es además el redex de más a la izquierda. En la λe interno {}}{ (λy.((λz.z) x) y) a }{{} externo se han marcado dos redexes: el marcado por arriba es interno, y el marcado por abajo además de externo es el redex de más a la izquierda.

44 36 2. Formas normales Se distinguen dos importantes órdenes de reducción: El orden normal o estándar, que notaremos por s, donde se reduce el redex externo de más a la izquierda. El orden aplicativo, que notaremos por a, donde se reduce el redex interno de más a la izquierda. EJEMPLO 2.1. (continuación) En la λ expresión: (λx.y) Ω el seleccionado para la reducción estándar es la propia expresión, y en el orden aplicativo se seleccionará el Ω. Según el teorema de Church Rosser (para el λc o para el ληc) si una expresión tiene FN ésta es única salvo α equivalencias; por tanto la forma normal en este caso es y y como se obtiene por la reducción estándar, escribiremos: (λx.y) Ω Por otro lado, la reducción aplicativa produce una secuencia infinita de redexes: (λx.y) Ω a s (λx.y) Ω y a... y el cómputo no terminaría El teorema de estandarización Como el teorema de Church Rosser afirma que si una expresión tiene FN ésta es única salvo α equivalencias, y dado que disponemos de diversos órdenes de reducción, cabe preguntarse si habrá un orden de reducción que siempre nos lleve a dicha FN. EJEMPLO 2.3. Consideremos la siguiente reducción no estándar (subrayamos el redex elegido): con lo cual, λa.(λb.(λc.c) b b) d λa.(λb.b b) d λa.d d λa.(λb.(λc.c) b b) d λa.d d pero también observamos que siguiendo el orden normal o estándar λa.(λb.(λc.c) b b) d s λa.d d

45 2.3. Formas normales por la cabeza 37 Generalizando el resultado del ejemplo anterior se tiene el denominado teorema de estandarización: Si M N, entonces también M s N

46 38 2. Formas normales Aunque no veremos la demostración de este teorema si daremos un esbozo de ésta. Para ello son necesarios los conceptos de redex de cabecera y de reducción por la cabeza (head reduction); se usará la siguiente nomenclatura: Un término de la forma M N se denomina un término aplicación. Un término de la forma λx.m se denomina un término abstracción. Lema 2.4 (a) Cada término es, o una variable, o un término aplicación o un término abstracción. (b) Cada término aplicación M es de la forma M N 1 N 2... N n (n 2) (N 1 no es una aplicación) (c) Cada término abstracción M es de la forma M λx 1 x 2... x n.n (n 1) (N no es una abstracción) (d) Cada término M: o bien es una forma normal por la cabeza (FNC): M λx 1 x 2... x n.x M 1... M m (n 0) (m 0) o bien es β reducible por la cabeza: M λx 1 x 2... x n.(λx.m 0 ) M 1... M m (n 0) (m 1) donde al redex (λx.m 0 ) M 1 se le llama redex de cabecera. Demostración: por inducción sobre la estructura de M. Definición 2.6 Un término M se dice que admite FNC si existe un N en FNC tal que M = N. EJEMPLO 2.4. El término Ω (λx.x x) (λx.x x) es β reducible por la cabeza (segunda opción con n = 0 y m = 1) y no admite una FNC (su primer elemento es un redex). NOTACIÓN Si sub[m] es el redex de cabecera de M, y N resulta de M al contraer, escribiremos: (M c N) o bien M N

47 2.3. Formas normales por la cabeza 39 para denotar la reducción en un paso del redex de cabecera, y denotaremos con c o bien cs el cierre reflexivo y transitivo de c. Si los redexes seleccionados son interiores usaremos i para la reducción en un paso, y: i o bien is para su cierre reflexivo y transitivo. Lema 2.5 (a) Cualquier reducción M i M c N puede descomponerse en la forma: i M cs M N M c N cs N is i N (b) Cualquier reducción M N puede descomponerse en la forma: M N 2... cs is cs is N 1 N n 1 cs N n N is M c N 1 i N 2 c i N n 1 c Nn i N (c) Cualquier reducción M N puede descomponerse en la forma: M N cs is Z M c Z i N

48 40 2. Formas normales Demostración: (a) Puede encontrarse en [Bar91] (pág. 298). (b) Inmediato por (a). (c) Inmediato por (b) y (a). Teorema 2.6 (Teorema de estandarización (Curry Feys, 1958)) Si M N, entonces también M s N Demostración: por inducción sobre N utilizando (c) del lema anterior: M N 1 N 2 N ; M λx.n N A la β reducción reiterada del redex de cabecera se le denomina reducción por la cabeza o reducción de cabecera. Obsérvese que: La reducción por la cabeza determina de forma única una secuencia de términos (tal secuencia puede terminar o puede no terminar). En la reducción estándar está incluida, como previa, la reducción de cabecera, pues utilizando (c) del lema anterior y el teorema de estandarización: M c Z i }{{} red. estándar N Como corolario del teorema de estandarización tenemos: Corolario 2.4 M tiene FNC si y sólo si su reducción por la cabeza termina Demostración: ( ) Trivial. ( ) Sea λ x.y M una forma normal por la cabeza de M, donde x y M son secuencias. Por el teorema de Church Rosser Z :: M Z, Z λ x.y M pero entonces Z λ x.y N, donde M i N i, con lo cual por el teorema de estandarización M s λ x.y N y es fácil construir a partir de ésta la reducción por la cabeza (que terminaría).

49 2.3. Formas normales por la cabeza 41 Existen diferencias importantes entre la reducción por la cabeza (que acaba en una FNC) y la reducción estándar o normal (que acaba en una FN): Un término puede estar en FNC y no estar en FN Un término puede no tener ni FNC ni FN; existe una caracterización de los términos con FNC que es la resolubilidad, como veremos más tarde (teorema de Wadsworth). Un término puede tener varias FNC; la reducción por la cabeza (que termina si admite al menos una FNC) proporciona la denominada FNC canónica EJEMPLO 2.5. Siendo I λz.z, se tiene que: La λe λx.x (I b) está en FNC (pues no existe redex de cabecera); sin embargo no es una FN y la reducción normal lo reduciría a λx.x b La λe (λx.x x) (λx.x x) no admite FNC ni tampoco FN (ya que toda FN es una FNC) La λe λx.i x (I I) admite como FNC tanto λx.x (I I) como λx.x I La λe (λx.x x) I x (I a) terminaría en x (I a) si utilizamos reducción por la cabeza, pero la reducción estándar continuaría hasta obtener la expresión x a: (λx.x x) I x (I a) c x (I a) }{{} fin cómputo si FNC s x a Además, obsérvese que la λe original también admite como FNC la expresión x a, pues (λx.x x) I x (I a) I I x a I x a x a pero la FNC canónica (i.e., la obtenida por reducción por la cabeza) es la expresión x (I a)

50 42 2. Formas normales Teorema 2.7 (0) M c M [z := N]M c [z := N]M (1) λx.m tiene una FNC M tiene una FNC (2) M N tiene una FNC M tiene una FNC (3) [x := N]M tiene una FNC M tiene una FNC Demostración: EJERCICIO Formas débil normales EJEMPLO 2.6. Sea la expresión Haskell (3+2) : cola unos where unos = 1 : unos Dicha expresión no está en forma normal y su evaluación a forma normal no termina. Es interesante en algunos casos no completar la evaluación para evitar los casos de no terminación; las formas intermedias se llaman formas débil normales. EJEMPLO 2.7. Sean las expresiones no normales Ω (λx.x x) (λx.x x) Θ λx.ω Σ (λx.ω) u Ψ λx. + x (+ 2 3) en el caso de Ψ es evidente que podría considerarse el proceso de evaluación del cuerpo de la función como una técnica de optimización, y tendremos Ψ λx. + x 5 que es una forma normal. Si utilizamos el mismo criterio con Θ vemos que Θ λx.ω = Θ... y el proceso de optimización produce la no terminación; usando como criterio: evaluar sólo los redexes de cabecera que existan o se produzcan tenemos que la evaluación de Θ termina (de hecho deja la expresión anterior como está ya que no existe redex de cabecera); se dice que Θ es una débil forma normal por la cabeza (DFNC o también WHNF (weak head normal form)); sin embargo, tal evaluación débil por la cabeza no funciona con Σ, pues Σ (λx.ω) u Ω Ω... y se dirá que Σ no admite una DFNC.

51 2.4. Formas débil normales 43 Las DFNC fueron introducidas por Wadsworth en 1976 y permiten, entre otras cosas, distinguir ciertos cómputos que no terminan. EJEMPLO 2.8. Sea ahora la λe: λx.(λy.λx. + x y) x cuyo único redex aparece subrayado. Al aplicar una β reducción hay que tener cuidado ya que al sustituir la x que aparece en negrita se obtiene un resultado erróneo. El problema visto anteriormente se conoce como problema de duplicidad del indentificador (name capture problem); para resolverlo es necesario una α conversión, pero puede evitarse dicha α conversión en estos casos? Una forma de resolver esto es con el concepto de DFNC donde la terminación del proceso de reducción se produce al alcanzar una DFNC. Los términos sin redexes externos son de la forma λx.e o bien x E 1 E 2... E n (n 0) Si incluimos constantes y δ reglas, las funciones parciales también son DFNC ya que no tienen redexes externos (ni β redexes ni δ redexes). EJEMPLO 2.9. Así, son DFNC los términos: λx.ω x y pero Ω DFN C. Además está en DFNC, y si admitimos λx. 3 x λx. 3 x = 3 (que es una igualdad extensional) tenemos que 3 es una DFNC. Definición 2.7 (Débil forma normal por la cabeza) (1) Toda constante es una DFNC (2) λx.e es una DFNC (3) f E 1 E 2... E n es una DFNC si f es una constante o una función de aridad k > n 0 La diferencia esencial entre FNC y DFNC es que en la segunda no se evalúan las λ abstracciones internas. EJEMPLO En la figura siguiente se clasifican cinco λ expresiones:

52 44 2. Formas normales donde por ejemplo, λx.i M no está en FNC pero si en DFNC, ya que no tiene redexes externos. Una expresión que consista en una sola variable es, según la definición, una DFNC; sin embargo, el resultado de un programa funcional no debe contener variables libres (p.e., + x 1) y podemos limitarnos a DFNC cerradas. Una ventaja (según [FH88]) de la reducción a una DFNC es que se evita la β reducción en presencia de variables libres. EJEMPLO 2.8. (continuación) La expresión: λx.(λy.λx. + x y) x está en DFNC y no es necesario reducir el redex interno: solamente cuando tal expresión es aplicada a un argumento debe reducirse por orden normal (el redex externo de más a la izquierda) para obtener una DFNC; así, la λe: (λx.(λy.λx. + x y) x) 4 no está en DFNC y se reduce a una DFNC por orden normal: (λx.(λy.λx. + x y) x) 4 (λy.λx. + x y) 4 λx. + x 4 Obsérvese que el problema de duplicidad del identificador ha desaparecido; esto es así porque solamente se reduce el redex externo, que no tiene variables libres. La diferencia entre FNC y DFNC es solamente significativa cuando el resultado es una abstracción; el problema de duplicidad del identificador puede ocurrir al reducir una expresión a FNC. Veremos después que al identificar todos los términos sin FNC se obtiene una teoría consistente; luego si identificamos Ω = λx.ω (es decir, si identificamos un término en DFNC con uno que no admite DFNC) no se introducen inconsistencias. Los términos en DFNC son los resultados en la evaluación perezosa; así, el cómputo perezoso de λx.ω termina mientras que el de Ω no termina; por tanto, en un λc perezoso (por ejemplo, el propuesto en [Abr90]), como modelo de los lenguajes funcionales perezosos, no es posible tal identificación.

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. ESTRUCTURAS ALGEBRAICAS GRADO EN MATEMÁTICAS. CURSO 215/216 Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. 1.1. Grupo abeliano libre. Bases. Definición 1.1. El grupo Z n con

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A APENDICE Relaciones y Operaciones Compatibles 1 Definición: a) Sea A un conjunto y una relación entre elementos de A. Decimos que es una relación de equivalencia si es: i Reflexiva: a A, a a. ii Simétrica:

Más detalles

Introducción a la Lógica

Introducción a la Lógica Tema 0 Introducción a la Lógica En cualquier disciplina científica se necesita distinguir entre argumentos válidos y no válidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la lógica. Aquí

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

Conjuntos, relaciones y funciones Susana Puddu

Conjuntos, relaciones y funciones Susana Puddu Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también

Más detalles

Tema 2.- Formas Cuadráticas.

Tema 2.- Formas Cuadráticas. Álgebra. 004 005. Ingenieros Industriales. Departamento de Matemática Aplicada II. Universidad de Sevilla. Tema.- Formas Cuadráticas. Definición y representación matricial. Clasificación de las formas

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Espacios Vectoriales Verónica Briceño V. noviembre 2013 Verónica Briceño V. () Espacios Vectoriales noviembre 2013 1 / 47 En esta Presentación... En esta Presentación veremos: Espacios

Más detalles

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo. Tema 2. Grupos. 1 Grupos Definición 1 Un grupo es una estructura algebraica (G, ) tal que la operación binaria verifica: 1. * es asociativa 2. * tiene elemento neutro 3. todo elemento de G tiene simétrico.

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones Semana 09 [1/28] 29 de abril de 2007 Semana 09 [2/28] Definición Sucesión Una sucesión real es una función: f : N R n f (n) Observaciones Para distinguir a una sucesión de las demás funciones, se ocupará

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capítulo 4. Lógica matemática. Continuar Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo Complementos Contenidos Clase 1: Elementos de lógica: Conectivos, tablas de verdad, tautologías y contingencias.

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Tema 3: Espacios vectoriales

Tema 3: Espacios vectoriales Tema 3: Espacios vectoriales K denotará un cuerpo. Definición. Se dice que un conjunto no vacio V es un espacio vectorial sobre K o que es un K-espacio vectorial si: 1. En V está definida una operación

Más detalles

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos Semana02[1/23] 9 de marzo de 2007 Introducción Semana02[2/23] La teoría de conjuntos gira en torno a la función proposicional x A. Los valores que hacen verdadera la función proposicional x A son aquellos

Más detalles

Análisis Matemático I: Numeros Reales y Complejos

Análisis Matemático I: Numeros Reales y Complejos Contents : Numeros Reales y Complejos Universidad de Murcia Curso 2008-2009 Contents 1 Definición axiomática de R Objetivos Definición axiomática de R Objetivos 1 Definir (y entender) R introducido axiomáticamente.

Más detalles

Conjuntos y matrices. Sistemas de ecuaciones lineales

Conjuntos y matrices. Sistemas de ecuaciones lineales 1 Conjuntos y matrices Sistemas de ecuaciones lineales 11 Matrices Nuestro objetivo consiste en estudiar sistemas de ecuaciones del tipo: a 11 x 1 ++ a 1m x m = b 1 a n1 x 1 ++ a nm x m = b n Una solución

Más detalles

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1 Espacios Vectoriales 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Espacios Vectoriales... 4 1.1 Definición de espacio vectorial... 4 1.2 Definición de subespacio vectorial...

Más detalles

Grupos y Subgrupos El concepto de grupo Sea G un conjunto no vacío y sea G G G

Grupos y Subgrupos El concepto de grupo Sea G un conjunto no vacío y sea G G G Capítulo 1 Grupos y Subgrupos 001. El concepto de grupo Sea G un conjunto no vacío y sea G G G una operación interna en G para la cual denotaremos a la imagen de un par (x, y) mediante xy. Supongamos que

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Polaridad. Tangentes. Estudio geométrico de cónicas y cuádricas

Polaridad. Tangentes. Estudio geométrico de cónicas y cuádricas Tema 6- Polaridad Tangentes Estudio geométrico de cónicas y cuádricas En este tema pretendemos estudiar propiedades de V(Q), especialmente en los casos real y complejo, con n =2,3 Para ello, necesitamos

Más detalles

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades: CAPÍTULO 2: ESPACIOS VECTORIALES 2.1- Definición y propiedades. 2.1.1-Definición: espacio vectorial. Sea un cuerpo conmutativo a cuyos elementos denominaremos escalares o números. No es necesario preocuparse

Más detalles

Espacios vectoriales reales.

Espacios vectoriales reales. Tema 3 Espacios vectoriales reales. 3.1 Espacios vectoriales. Definición 3.1 Un espacio vectorial real V es un conjunto de elementos denominados vectores, junto con dos operaciones, una que recibe el nombre

Más detalles

Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.

Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación. NÚMEROS REALES Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación. Un conjunto es una colección bien definida

Más detalles

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES UNIDD 4 RESOLUCIÓN DE SISTEMS MEDINTE DETERMINNTES Página 00 Resolución de sistemas mediante determinantes x y Resuelve, aplicando x = e y =, los siguientes sistemas de ecuaciones: x 5y = 7 5x + 4y = 6x

Más detalles

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros Resumen teoría Prof. Alcón ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Z = N {0} N Enteros Las operaciones + y. son cerradas en Z, es decir la suma de dos números enteros es un número entero y el producto

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

Espacios topológicos. 3.1 Espacio topológico

Espacios topológicos. 3.1 Espacio topológico Capítulo 3 Espacios topológicos 3.1 Espacio topológico Definición 3.1.1. Un espacio topológico es un par (X, τ), donde X es un conjunto, y τ es una familia de subconjuntos de X que verifica las siguientes

Más detalles

Capítulo 7. Espacios vectoriales. 7.1 Definición y ejemplos

Capítulo 7. Espacios vectoriales. 7.1 Definición y ejemplos Capítulo Espacios vectoriales.1 Definición y ejemplos Un espacio vectorial sobre un cuerpo K (que supondremos conmutativo es un conjunto no vacío junto con 1. una operación interna, +, a la que llamaremos

Más detalles

Es trivial generalizar la definición al caso de varios conjuntos: A B C, etc.

Es trivial generalizar la definición al caso de varios conjuntos: A B C, etc. Tema 1 Espacios Vectoriales 1.1 Introducción Estas notas están elaboradas pensando simplemente en facilitar al estudiante una guía para el estudio de la asignatura, y en consecuencia se caracterizan por

Más detalles

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN May 4, 2012 1. Optimización Sin Restricciones En toda esta sección D denota un subconjunto abierto de R n. 1.1. Condiciones Necesarias de Primer Orden. Proposición 1.1. Sea f : D R diferenciable. Si p

Más detalles

Teorema del Valor Medio

Teorema del Valor Medio Tema 6 Teorema del Valor Medio Abordamos en este tema el estudio del resultado más importante del cálculo diferencial en una variable, el Teorema del Valor Medio, debido al matemático italo-francés Joseph

Más detalles

Problemas de Espacios Vectoriales

Problemas de Espacios Vectoriales Problemas de Espacios Vectoriales 1. Qué condiciones tiene que cumplir un súbconjunto no vacío de un espacio vectorial para que sea un subespacio vectorial de este? Pon un ejemplo. Sean E un espacio vectorial

Más detalles

TEMA 8.- NORMAS DE MATRICES Y

TEMA 8.- NORMAS DE MATRICES Y Álgebra II: Tema 8. TEMA 8.- NORMAS DE MATRICES Y NúMERO DE CONDICIóN Índice. Introducción 2. Norma vectorial y norma matricial. 2 2.. Norma matricial inducida por normas vectoriales......... 4 2.2. Algunos

Más detalles

Ejercicios de Lógica Proposicional *

Ejercicios de Lógica Proposicional * Ejercicios de Lógica Proposicional * FernandoRVelazquezQ@gmail.com Notación. El lenguaje proposicional que hemos definido, aquel que utiliza los cinco conectivos,,, y, se denota como L {,,,, }. Los términos

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

Espacios vectoriales. Capítulo Espacios vectoriales y subespacios Preliminares

Espacios vectoriales. Capítulo Espacios vectoriales y subespacios Preliminares Capítulo 1 Espacios vectoriales En diversos conjuntos conocidos, por ejemplo los de vectores en el plano o en el espacio (R 2 y R 3 ), o también el de los polinomios (R[X]), sabemos sumar sus elementos

Más detalles

Matemáticas Discretas TC1003

Matemáticas Discretas TC1003 Matemáticas Discretas TC1003 Módulo I: s Válidos Departamento de Matemáticas ITESM Módulo I: s Válidos Matemáticas Discretas - p. 1/50 En matemáticas y en lógica un argumento no es una disputa. Más bien,

Más detalles

MATE IV Serie Álgebra 2015/01/26 NOMENCLATURA ALGEBRAICA

MATE IV Serie Álgebra 2015/01/26 NOMENCLATURA ALGEBRAICA NOMENCLATURA ALGEBRAICA Definición (Término). Es una expresión algebraica que consta de un solo símbolo o de varios símbolos no separados entre sí por el signo + o -. Por ejemplo a, 3b, xy, son términos.

Más detalles

Funciones de Clase C 1

Funciones de Clase C 1 Capítulo 7 Funciones de Clase C 1 Vamos a considerar ahora la extensión a varias variables del concepto de función de clase C 1. Cada vez que establezcamos una propiedad de las funciones diferenciables,

Más detalles

- Fernando Sánchez - Departamento de Matemáticas - Universidad de Extremadura. Topología

- Fernando Sánchez - Departamento de Matemáticas - Universidad de Extremadura. Topología - Fernando Sánchez - - 6 Topología Cálculo I en R 26 10 2015 Elementos de la topología en R. Una topología en un conjunto da un criterio para poder hablar de proximidad entre los elementos de un conjunto.

Más detalles

Métodos directos para resolver sistemas de ecuaciones lineales

Métodos directos para resolver sistemas de ecuaciones lineales Métodos directos para resolver sistemas de ecuaciones lineales Problemas para examen Si en algún problema se pide calcular el número de flops (operaciones aritméticas con punto flotante), entonces en el

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

TEMA 2. ESPACIOS VECTORIALES

TEMA 2. ESPACIOS VECTORIALES TEMA 2. ESPACIOS VECTORIALES CÉSAR ROSALES GEOMETRÍA I En este tema comenzaremos el estudio de los objetos que nos interesarán en esta asignatura: los espacios vectoriales. Estos son estructuras básicas

Más detalles

1. Convergencia en medida

1. Convergencia en medida FACULTAD CS. FÍSICAS Y MATEMÁTICAS UNIVERSIDAD DE CHILE MA3801 Teoría de la Medida. Semestre 2009-02 Profesor: Jaime San Martín Auxiliares: Andrés Fielbaum y Cristóbal Guzmán Clase auxiliar 7 21 de Septiembre

Más detalles

Sistemas de Ecuaciones Lineales y Matrices

Sistemas de Ecuaciones Lineales y Matrices Capítulo 4 Sistemas de Ecuaciones Lineales y Matrices El problema central del Álgebra Lineal es la resolución de ecuaciones lineales simultáneas Una ecuación lineal con n-incógnitas x 1, x 2,, x n es una

Más detalles

Funciones convexas Definición de función convexa. Tema 10

Funciones convexas Definición de función convexa. Tema 10 Tema 10 Funciones convexas Los resultados obtenidos en el desarrollo del cálculo diferencial nos permiten estudiar con facilidad una importante familia de funciones reales de variable real definidas en

Más detalles

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21 Espacios Vectoriales AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21 Objetivos Al finalizar este tema tendrás que: Saber si unos vectores son independientes.

Más detalles

UNIDAD II: TEORÍA DE CONJUNTOS 2.1. INTRODUCCIÓN

UNIDAD II: TEORÍA DE CONJUNTOS 2.1. INTRODUCCIÓN UNDD : TEORÍ DE CONJUNTOS 2.1. NTRODUCCÓN Según Georg Cantor un conjunto es la reunión, agrupación o colección de elementos bien definidos que tienen una propiedad en común, concepto que ha penetrado y

Más detalles

Anillo de polinomios con coeficientes en un cuerpo

Anillo de polinomios con coeficientes en un cuerpo Capítulo 2 Anillo de polinomios con coeficientes en un cuerpo En el conjunto Z se ha visto cómo la relación ser congruente módulo m para un entero m > 1, es compatible con las operaciones suma y producto.

Más detalles

Funciones integrables en R n

Funciones integrables en R n Capítulo 1 Funciones integrables en R n Sean un subconjunto acotado de R n, y f : R una función acotada. Sea R = [a 1, b 1 ]... [a n, b n ] un rectángulo que contenga a. Siempre puede suponerse que f está

Más detalles

Introducción a los espacios vectoriales

Introducción a los espacios vectoriales 1 / 64 Introducción a los espacios vectoriales Pablo Olaso Redondo Informática Universidad Francisco de Vitoria November 19, 2015 2 / 64 Espacios vectoriales 1 Las 10 propiedades de un espacio vectorial

Más detalles

Introducción a los números reales

Introducción a los números reales Grado en Matemáticas Curso 2010-2011 Índice Conjuntos numéricos 1 Conjuntos numéricos Tienen nombre Y cuatro operaciones básicas 2 Teoremas y demostraciones Métodos de demostración 3 4 Objetivos Objetivos

Más detalles

UNIDAD 3. La derivada. Objetivos. Al terminar la unidad, el alumno:

UNIDAD 3. La derivada. Objetivos. Al terminar la unidad, el alumno: UNIDAD La derivada Objetivos Al terminar la unidad, el alumno: Calculará la derivada de funciones utilizando el álgebra de derivadas. Determinará la relación entre derivación y continuidad. Aplicará la

Más detalles

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. 1. MATRICES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. DEFINICIÓN: Las matrices son tablas numéricas rectangulares

Más detalles

Alejandro Díaz-Caro. 16 de diciembre de 2007

Alejandro Díaz-Caro. 16 de diciembre de 2007 (de André van Tonder [vt04]) Departamento de Ciencias de la Computación Facultad de Ciencias Exactas, Ingeniería y Agrimensura Universidad Nacional de Rosario 16 de diciembre de 2007 Contenido de la presentación

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Tema 1. Álgebra lineal. Matrices

Tema 1. Álgebra lineal. Matrices 1 Tema 1. Álgebra lineal. Matrices 0.1 Introducción Los sistemas de ecuaciones lineales aparecen en un gran número de situaciones. Son conocidos los métodos de resolución de los mismos cuando tienen dos

Más detalles

Introducción. El uso de los símbolos en matemáticas.

Introducción. El uso de los símbolos en matemáticas. Introducción El uso de los símbolos en matemáticas. En el estudio de las matemáticas lo primero que necesitamos es conocer su lenguaje y, en particular, sus símbolos. Algunos símbolos, que reciben el nombre

Más detalles

UNIDAD 8 INECUACIONES. Objetivo general.

UNIDAD 8 INECUACIONES. Objetivo general. 8. 1 UNIDAD 8 INECUACIONES Objetivo general. Al terminar esta Unidad resolverás inecuaciones lineales y cuadráticas e inecuaciones que incluyan valores absolutos, identificarás sus conjuntos solución en

Más detalles

X = a 0 + a 1 m + a 2 m a r m r,

X = a 0 + a 1 m + a 2 m a r m r, EL NÚMERO NATURAL En este captulo vamos a introducir el concepto de número natural a partir de la Teoría de Conjuntos. Piaget demostró que el procedimiento que vamos a seguir para alcanzar el concepto

Más detalles

Capitulo IV - Inecuaciones

Capitulo IV - Inecuaciones Capitulo IV - Inecuaciones Definición: Una inecuación es una desigualdad en las que hay una o más cantidades desconocidas (incógnita) y que sólo se verifica para determinados valores de la incógnita o

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. Tema 1 Matrices 1.1. Conceptos básicos y ejemplos Definición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas. NOTA:

Más detalles

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos.

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos. CAPÍTULO IV. CONTINUIDAD DE FUNCIONES SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos. 121 A. DEFINICIÓN DE FUNCIÓN CONTINUA. Una función

Más detalles

Conjunto R 3 y operaciones lineales en R 3

Conjunto R 3 y operaciones lineales en R 3 Conjunto R 3 y operaciones lineales en R 3 Objetivos. Definir el conjunto R 3 y operaciones lineales en R 3. Requisitos. Conjunto de los números reales R, propiedades de las operaciones aritméticas en

Más detalles

Semana03[1/17] Funciones. 16 de marzo de Funciones

Semana03[1/17] Funciones. 16 de marzo de Funciones Semana03[1/17] 16 de marzo de 2007 Introducción Semana03[2/17] Ya que conocemos el producto cartesiano A B entre dos conjuntos A y B, podemos definir entre ellos algún tipo de correspondencia. Es decir,

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

520142: ALGEBRA y ALGEBRA LINEAL

520142: ALGEBRA y ALGEBRA LINEAL 520142: ALGEBRA y ALGEBRA LINEAL Segundo Semestre 2008, Universidad de Concepción CAPITULO 10: Espacios Vectoriales DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas 1 Definición

Más detalles

Base y Dimensión de un Espacio Vectorial

Base y Dimensión de un Espacio Vectorial Base y Dimensión de un Espacio Vectorial 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Qué es un sistema generador?... 4 2 Base de un espacio vectorial... 4 3 Dimensión de un

Más detalles

3- Sistemas de Ecuaciones Lineales

3- Sistemas de Ecuaciones Lineales Nivelación de Matemática MTHA UNLP 1 3- Sistemas de Ecuaciones Lineales 1. Introducción Consideremos el siguiente sistema, en él tenemos k ecuaciones y n incógnitas. Los coeficientes a ij son números reales

Más detalles

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS.

1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS. UNIDAD 1.- CONCEPTOS REQUERIDOS CONJUNTOS. AXIOMAS DE PERTENENCIA, PARALELISMO, ORDEN Y PARTICIÓN. 1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS. 1.1 Determinaciones de un conjunto. Un conjunto queda determinado

Más detalles

3. Determinantes. Propiedades. Depto. de Álgebra, curso

3. Determinantes. Propiedades. Depto. de Álgebra, curso Depto de Álgebra curso 06-07 3 Determinantes Propiedades Ejercicio 3 Use la definición para calcular el valor del determinante de cada una de las siguientes matrices: 3 0 0 α A = 5 4 0 A = 6 A 3 = 0 β

Más detalles

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 aterial compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones

Más detalles

Teoremas de Convergencia

Teoremas de Convergencia Capítulo 24 Teoremas de Convergencia El teorema de la convergencia monótona (Lema 21.3) establece ciertas condiciones sobre una sucesión de funciones medibles para que se puedan permutar los símbolos y

Más detalles

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 7: Lunes 22 - Viernes 27 de Abril. Contenidos

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 7: Lunes 22 - Viernes 27 de Abril. Contenidos Coordinación de Matemática I (MAT01) 1 er Semestre de 013 Semana 7: Lunes - Viernes 7 de Abril Cálculo Contenidos Clase 1: Álgebra de límites. Teorema del Sandwich. Cálculo de límites. Límites trigonométricos.

Más detalles

IN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0

IN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0 IN3701 - Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0 Acá va una pequeña guía con problemas resueltos de Geometría en Programación Lineal con problemas básicamente extraídos del

Más detalles

Teoría de la Probabilidad Tema 2: Teorema de Extensión

Teoría de la Probabilidad Tema 2: Teorema de Extensión Teoría de la Probabilidad Tema 2: Teorema de Extensión Alberto Rodríguez Casal 25 de septiembre de 2015 Definición Una clase (no vacía) A de subconjuntos de Ω se dice que es un álgebra si A es cerrada

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

1. Sucesiones y redes.

1. Sucesiones y redes. 1. Sucesiones y redes. PRACTICO 7. REDES. Se ha visto que el concepto de sucesión no permite caracterizar algunas nociones topológicas, salvo en espacios métricos. Esto empieza con algunas definiciones

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

Más detalles

Transformaciones lineales y matrices

Transformaciones lineales y matrices CAPíTULO 5 Transformaciones lineales y matrices 1 Matriz asociada a una transformación lineal Supongamos que V y W son espacios vectoriales de dimensión finita y que T : V W es una transformación lineal

Más detalles

Funciones reales de variable real

Funciones reales de variable real 84 Matemáticas I : Cálculo diferencial en IR Tema 8 Funciones reales de variable real 8. Los números reales Los números reales son de sobra conocidos, sus operaciones básicas así como su identificación

Más detalles

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la

Más detalles

Más sobre las series geométricas. 1. Derivación de series geométricas elementales

Más sobre las series geométricas. 1. Derivación de series geométricas elementales Semana - Clase 2 4/0/0 Tema : Series Más sobre las series geométricas Las series infinitas se encuentran entre las más poderosas herramientas que se introducen en un curso de cálculo elemental. Son un

Más detalles

Apéndice sobre ecuaciones diferenciales lineales

Apéndice sobre ecuaciones diferenciales lineales Apéndice sobre ecuaciones diferenciales lineales Juan-Miguel Gracia 10 de febrero de 2008 Índice 2 Determinante wronskiano. Wronskiano de f 1 (t), f 2 (t),..., f n (t). Derivada de un determinante de funciones.

Más detalles

Bases Matemáticas para la Educación Primaria. Guía de Estudio. Tema 3: Números racionales. Parte I: Fracciones y razones Números racionales

Bases Matemáticas para la Educación Primaria. Guía de Estudio. Tema 3: Números racionales. Parte I: Fracciones y razones Números racionales Bases Matemáticas para la Educación Primaria Guía de Estudio Tema 3: Números racionales Parte I: Fracciones y razones Números racionales 1 Situación introductoria ANÁLISIS DE CONOCIMIENTOS PUESTOS EN JUEGO

Más detalles

Matemáticas 2º E.S.P.A. Pág.1 C.E.P.A. Plus Ultra. Logroño

Matemáticas 2º E.S.P.A. Pág.1 C.E.P.A. Plus Ultra. Logroño ALGEBRA 1. LETRAS EN VEZ DE NÚMEROS En muchas tareas de las matemáticas es preciso trabajar con números de valor desconocido o indeterminado. En esos casos, los números se representan por letras y se operan

Más detalles

MMAF: Espacios normados y espacios de Banach

MMAF: Espacios normados y espacios de Banach MMAF: Espacios normados y espacios de Banach Licenciatura en Estadística R. Álvarez-Nodarse Universidad de Sevilla Curso 2011/2012 Espacios vectoriales Definición Sea V un conjunto de elementos sobre el

Más detalles

4. Complementos sobre Problemas de Contorno para S.D.O. Lineales. 4. Complementos sobre Problemas de Contorno

4. Complementos sobre Problemas de Contorno para S.D.O. Lineales. 4. Complementos sobre Problemas de Contorno para S.D.O. Lineales 4.1. Problemas de contorno para s.d.o. lineales. Teorema de alternativa 4.1. Problemas de contorno. Teorema de alternativa Fijemos A C 0 ([α, β]; L(R N )) y b C 0 ([α, β]; R N ), dos

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

APUNTES DE GEOMETRÍA ANALÍTICA

APUNTES DE GEOMETRÍA ANALÍTICA CAPÍTULO 1: LA RECTA EN EL PLANO Conceptos Primitivos: Punto, recta, plano. APUNTES DE GEOMETRÍA ANALÍTICA Definición 1 (Segmento) Llamaremos segmento a la porción de una línea recta comprendida entre

Más detalles

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales Introducción Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J. Sylvester. El desarrollo inicial de la teoría se debe al matemático W.R. Hamilton en 1853. En 1858, A. Cayley

Más detalles

Comentarios y erratas de menor importancia

Comentarios y erratas de menor importancia Comentarios y erratas de menor importancia Capítulo 1 Pág. 18, línea 14. Las palabras relación de orden deben aparecer en letra cursiva. Pág. 20, línea 3 de la sección 1.2.2. Las palabras representación

Más detalles