LENGUAJES Y COMPILADORES

Documentos relacionados
Lenguajes y Compiladores

f n = 0 si n = 0 (ER)

Semana05[1/14] Relaciones. 28 de marzo de Relaciones

Conjuntos finitos y conjuntos numerables

Problemas de VC para EDVC elaborados por C. Mora, Tema 4

Continuidad y monotonía

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

Descomposición en forma canónica de Jordan (Segunda versión)

Conjuntos, relaciones y funciones Susana Puddu

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Órdenes de la convergencia de sucesiones. Condiciones de la convergencia lineal y cuadrática del método de iteración simple

Sobre funciones reales de variable real. Composición de funciones. Función inversa

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

Base y Dimensión de un Espacio Vectorial

UNIDAD II. INTEGRAL DEFINIDA Y LOS MÉTODOS DE INTEGRACIÓN. Tema: LA INTEGRAL DEFINIDA

PROPAGACIÓN DE INCERTEZAS

Isabelle como un lenguaje funcional

sobre un intervalo si para todo de se tiene que. Teorema 1 Sean y dos primitivas de la función en. Entonces,

Tema 2 Resolución de EcuacionesNo Lineales

La función, definida para toda, es periódica si existe un número positivo tal que

ƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}.

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Teoremas de Convergencia

Teoría de Números. Divisibilidad. Olimpiada de Matemáticas en Tamaulipas

Derivada de la función compuesta. Regla de la cadena

4.2. Funciones inyectivas, sobreyectivas y biyectivas

Así tenemos el siguiente teorema: Sea f una función analítica en un disco Entonces f admite la representación de potencias:

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

BLOQUE 4. CÁLCULO DIFERENCIAL DE FUNCIONES REALES DE UNA VARIABLE

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

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

Clase 8 Matrices Álgebra Lineal

1.1. Los números reales

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

Generación de variables aleatorias continuas Método de rechazo

La reordenación aleatoria de un conjunto finito

Teoremas de convergencia y derivación bajo el signo integral

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

Números naturales, principio de inducción

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

Colegio Universitario Boston

Cálculo Diferencial en una variable

Ecuaciones Diofánticas

Espacios topológicos. 3.1 Espacio topológico

Análisis de Algoritmos

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

Una topología de los números naturales*

Teorías decidibles. Definición. Ejercicio

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

V B. g (1) V B ) g, (2) +ρ B. =( m H. m H (3) ρ 1. ρ B. Aplicando al aire la ecuación de estado de los gases perfectos, en la forma.

Tutorial para resolver ecuaciones diferenciales usando MATLAB

DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

CURSO CERO DE MATEMATICAS. Apuntes elaborados por Domingo Pestana Galván. y José Manuel Rodríguez García

Matrices: repaso. Denotaremos con M m n el conjunto de matrices de tamaño m n, o sea, de m filas y n columnas. Una matriz A M m n es de la forma A =

Definición de la matriz inversa

TEMA 8. GEOMETRÍA ANALÍTICA.

ECUACIONES EN DIFERENCIAS LINEALES CON COEFICIENTES CONSTANTES

Universidad de Oriente Núcleo de Bolívar Departamento de Ciencias Área de Matemática Asignatura: Matemática ( )

Construcción de Conjuntos B 2 [2] Finitos

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

LÍMITES. REGLA DE L HOPITAL

Teorema del Valor Medio

Sistemas de ecuaciones lineales dependientes de un parámetro

Lenguajes Regulares. Antonio Falcó. - p. 1

520142: ALGEBRA y ALGEBRA LINEAL

Modelización por medio de sistemas

Lección 2: Funciones vectoriales: límite y. continuidad. Diferenciabilidad de campos

Funciones Exponenciales y Logarítmicas

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

Espacios Vectoriales

Descomposición en valores singulares de una matriz

Propiedades del valor absoluto de números enteros (ejercicios)

Ejercicios del Tema 2: Estructuras algebraicas básicas

Nociones Básicas de Sémantica: Semántica Denotacional

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

Universidad Nacional de Colombia Departamento de Matemáticas Álgebra Lineal - Grupo 1 Resumen Unidad n 3

Pruebas de Acceso a las Universidades de Castilla y León

Ecuaciones diferenciales homogéneas y no homogéneas lineales a coeficientes constantes. Búsqueda de la solución particular.

CREACIÓN DE MATRICES DESDE LA APLICACIÓN PRINCIPAL

Ejercicios resueltos. 4 continua en R luego continua en cualquier. , [ 1,1] = 0 que equivale a decir 1,1

Lenguajes, Gramáticas y Autómatas Conceptos

Máximos y mínimos. Mínimo global Máximo global máximo relativo mínimo relativo

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Límite superior y límite inferior de una sucesión

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

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

Introducción a los espacios vectoriales

EJERCICIOS REPASO 2ª EVALUACIÓN

TEST DE RAZONAMIENTO NUMÉRICO. Consejos generales

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

3. Ecuaciones, parte I

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS. Fracciones continuas, ecuación de Pell y unidades en el anillo de enteros de los cuerpos cuadráticos

Fundamentos de Matemática

10.4 Sistemas de ecuaciones lineales

Definición de la integral de Riemann (Esto forma parte del Tema 1)

CAPÍTULO. 1 Conceptos básicos

Fundamentos Matemáticos de la Ingeniería. Tema 4: Diagonalización de matrices. Curso

Transcripción:

LENGUAJES Y COMPILADORES Repaso. La clase pasada presentamos el lenguaje imperativo simple y dimos las ecuaciones para casi todas las construcciones del lenguaje. En efecto, teníamos que [ ] <intexp> Σ Z [ ] <boolexp> Σ B [ ] <comm> Σ Σ y las ecuaciones para las expresiones enteras y booleanas son idénticas a las vistas para la lógica de predicados, salvo que ahora se omiten los casos de los cuantificadores por no formar parte del lenguaje imperativo simple. También alcanzamos a presentar las ecuaciones de los comandos: [ ] <comm> Σ Σ [skip] [v : e] [ v : [e]] [c0 ] si [b] [if b then c 0 else c 1 ] [c 1 ] [c 0 ; c 1 ] [c 1 ] ([c 0 ]) [nevar v: e in c] (λ Σ. [ v : v]) ([c][ v : [e]]) donde si f P D, donde P es un predominio y D un dominio, entonces f denota la única extensión estricta de f a P : si x f x f x La ecuación del hile. Intuitivamente, podríamos escribir [hile b do c] [if b then c; hile b do c else skip] [c; hile b do c] si [b] [skip] [hile b do c] ([c]) si [b] La ecuación resultante [hile b do c] (1) [hile b do c] ([c]) si [b] no es dirigida por sintaxis. Esto significa que no sabemos si tiene solución y en ese caso, si es única. Pero ya estuvimos en esta situación. Definamos F ([c]) si [b]

con esta definición, la ecuación (1) queda LENGUAJES Y COMPILADORES 33 [hile b do c] F [hile b do c] Tratándose de una igualdad entre funciones (comprobar que [hile b do c] Σ Σ y F (Σ Σ ) (Σ Σ ) y por ello F [hile b do c] Σ Σ la ecuación también puede escribirse [hile b do c] F [hile b do c] que simplemente dice que [hile b do c] es punto fijo de F. Recordemos entonces el teorema del menor punto fijo. Teorema. Sea D un dominio, y F D D continua. Entonces sup(f i ) existe y es el menor punto fijo de F. Recordemos que nos interesa el menor punto fijo de F porque otros puntos fijos contienen información que no se encuentra en la ecuación a resolver. Sabemos que F (Σ Σ ) (Σ Σ ), es decir F D D con D Σ Σ, que es un dominio porque Σ lo es. Para poder utilizar el teorema, deberíamos asegurarnos de que F es continua. En caso de serlo, la semántica de hile b do c será [hile b do c] F i Σ Σ para F ([c]) si [b] Esta definición sí es dirigida por sintaxis. Veamos que F es continua. Para ello, primero vemos que es monótona: sean Σ Σ. Si [b] y [c], entonces En cambio, si [b] pero [c] i0 F ([c]) definición de F [c] F es el mínimo F ([c]) definición de F ([c]) [c] ([c]) ([c]) [c] F definición de F Por último, si [b] F F Por lo tanto, F es monótona. Por las propiedades ya demostradas, para comprobar continuidad, alcanza con demostrar que para toda cadena 0 1 2... de funciones de Σ Σ, i0 i) i0 F i.

34 LENGUAJES Y COMPILADORES Nuevamente consideramos tres casos. Si [b] y [c], entonces Ahora, si [b] pero [c] i0 i) ( i0 i) ([c]) definición de F [c] i0 F i es el mínimo i0 i) ( i0 i) ([c]) definición de F ( i0 i) ([c]) [c] i0 i ([c]) supremo de cadena de funciones i0 i ([c]) [c] i0 F i definición de F ( i0 F i) supremo de cadena de funciones Finalmente, si [b], i0 i) definición de F i0 supremo de cadena constante i0 F i definición de F ( i0 F i) supremo de cadena de funciones Por lo tanto F es continua y la definición dada para la semántica del hile está bien definida. Ejemplos. Podemos considerar algunos ejemplos de cálculo de semántica de programas con hile. El primero de ellos, hile true do skip que es el caso más sencillo de un programa que no termina en ningún estado, y por ello, su semántica debe ser Σ Σ. Sea F (Σ Σ ) (Σ Σ ) definida por F ([skip]) si [true] ([skip]) es decir, F. Calculemos F i Σ Σ para algunos i N: F 0 Σ Σ Σ Σ F 1 Σ Σ F (F 0 Σ Σ ) F Σ Σ Σ Σ Tenemos entonces F 1 Σ Σ F 0 Σ Σ. En general, si tenemos F i+1 D F i D podemos concluir que F i D F i+1 D F i+2 D... y la cadena resulta no interesante y su supremo es F i D. En el caso de hile true do skip obtenemos, i0 F i Σ Σ Σ Σ que es lo que habíamos intuido. Podíamos haber observado también, al obtener F, que cualquier Σ Σ es punto fijo de F ya que F es la función identidad. El menor de ellos es el mínimo de Σ Σ, o sea, Σ Σ.

LENGUAJES Y COMPILADORES 35 Un ejemplo no trivial es el de hile x 0 x 1 do x : x 2. Intuitivamente, este programa reemplaza el valor de x en el estado por el del módulo 2 de dicho valor si el mismo es no negativo. Si es negativo, no termina. Comparar con el caso considerado anteriormente de una función recursiva que tenía a mod2 como solución. Tenemos para [hile x 0 x 1 do x : x 2] F i Σ Σ i0 F ([x : x 2]) si [x 0 x 1] ([ x : x 2]) si x 0, 1} ([ x : x 2]) si x 0, 1} si x 0, 1} [ x : x 2] Calculemos F i Σ Σ para algunos i N: F 0 Σ Σ Σ Σ F 1 Σ Σ F (F 0 Σ Σ ) F Σ Σ si x 0, 1} Σ Σ [ x : x 2] si x 0, 1} F 2 Σ Σ F (F 1 Σ Σ ) si x 0, 1} F 1 Σ Σ [ x : x 2] si x 0, 1} }} F 1 Σ Σ [ x : x 2] si x 0, 1} si x 0, 1} x 0, 1} si x 0, 1} x 0, 1} si x 0, 1} [ x : x 2] si x 2, 3} si x 0, 1, 2, 3} [ x : x %2] si x 0, 1, 2, 3} si x 0, 1, 2, 3}

36 LENGUAJES Y COMPILADORES F 3 Σ Σ F (F 2 Σ Σ ) si x 0, 1} }} F 2 Σ Σ [ x : x 2] si x 0, 1} [ x : x %2] si x 0, 1} x 0, 1, 2, 3} Se puede comprobar que F i Σ Σ si x 0, 1} x 0, 1, 2, 3} si x 0, 1} [ x : x %2] si x 2, 3, 4, 5} si x 0, 1, 2, 3, 4, 5} [ x : x %2] si x 0, 1, 2, 3, 4, 5} si x 0, 1, 2, 3, 4, 5} [ x : x %2] si x 0, 1,..., 2 i 1} si x 0, 1,..., 2 i 1} Observar que F i Σ Σ es la función que, aplicada a un estado para el que alcanzarían con (a lo sumo) i 1 iteraciones del ciclo para terminar, devuelve el estado final del hile, y aplicada a un estado para el que no alcanzarían, devuelve. En el límite esto daría la función que aplicada a un estado para el que alcanza con una cantidad finita de iteraciones, devuelve el estado final, y aplicada a un estado para el que no termina, devuelve : [ x : x %2] si x 0 F i Σ Σ i0 que es lo que habíamos anticipado originariamente.