Traductor de Lógica Multivariada a Lógica de Primer Orden Lógicas para la Informática y la I.A. Msl2Fol Traductor de Lógica Multivariada a Lógica de Primer Orden Autor: Carlos de Tapia Miguel del Corral
Índice de la exposición 1 Índice de la exposición Presentación de la aplicación Introducción a la Lógica Multivariada El programa Msl2Fol Ejemplos Conclusiones y Análisis Crítico
Presentación de la aplicación 1 2 Presentación de la aplicación 1 Aplicación realizada por José Escuadra Burrieza en 1999. Profesor de la Universidad de Salamanca en la Escuela Politécnica Superior de Zamora Pertenece al Departamento de Informática y Automática – Área de Lenguajes y Sistemas Informáticos Se trata de una aplicación bastante sencilla y con funcionalidad muy concreta.
La Lógica Multivariada 2 3 La Lógica Multivariada 2 De creación “bastante” reciente. Primeras referencias a mediados del siglo XX (Arnold Schmidt). Desde el punto de vista sintáctico lógica multivariada cuando tengamos distintos tipos de variables que pueden ser cuantificadas. Y desde el punto de vista semántico lógica multivariada cuando tengamos una estructura multivariada con distintos tipos de universos. Característica principal : Lógica unificadora de lógicas
La Lógica Multivariada 2 4 La Lógica Multivariada 2 Aplicaciones en la Informática (1) Tipos de los datos abstractos. (2) Semántica y comprobación de programas. (3) Definición de lenguajes. (4) Álgebras para lógicas. (5) Bases de datos. (6) Lógica dinámica. (7) Semántica de lenguajes naturales. (8) Problemas resueltos con computadoras. (9) Representación de diseños. (10) Programación en lógica y deducción automatizada.
La Lógica Multivariada 2 5 La Lógica Multivariada 2 Elementos Varios universos de individuos A0,A1,A2,… A0 = {Verdadero, Falso} Resto de universos = {individuos de verdad} Además existen variables, funciones y relaciones. Tipo de una variable = universo al que pertenece. Constantes = funciones sin parámetros Relaciones (resultado pertenece a A0)
La Lógica Multivariada 2 6 La Lógica Multivariada 2 Elementos Operaciones lógicas estándar Cuantificadores
La Lógica Multivariada 2 7 La Lógica Multivariada 2 Traducción Para el paso de Lógica Multivariada a Lógica de Primer Orden se utilizan dos funciones T1 y T2 Función T1: Función T2: si son variables libres
8 El programa Msl2Fol 3 Pantalla principal
Presentación del Proyecto 3 9 Presentación del Proyecto 3 Hasta 255 universos 256 variables 256 funciones Un máximo de 32 parámetros por función 256 relaciones Palabras reservadas: and, or, imp, not, paratodo y existe equivalentes a Maneja notación prefija (a and b) = (and a b)
Presentación del Proyecto 3 10 Presentación del Proyecto 3 Barra de Menús Salida.txt uni ... var fun rel for Menú Fórmula
Presentación del Proyecto 3 11 Presentación del Proyecto 3 Barra de Menús Menú Traducción
Presentación del Proyecto 3 12 Presentación del Proyecto 3 Manejo de Errores
Dos universos: P = {polígonos} y T = {triángulos} Ejemplo 1 13 Ejemplos 4 Ejemplo 1:“Todos los polígonos tienen área, y todos triángulos son polígonos, luego un triángulo rectángulo r tiene área”. Dos universos: P = {polígonos} y T = {triángulos} Relaciones: A = “Tener área” P = relación implícita de pertenencia a P Variables: p, t r “un triángulo rectángulo” (es una constante, es una función de tipo 2) Enunciado:
14 Ejemplos Ejemplo 1 4
Ejemplo 1 15 Ejemplos 4
Ejemplos 4 Archivos E/S Entrada.txt Salida.txt 16 uni P T var p:1 t:2 fun r:2 rel A:1 for (( paratodo p A p and paratodo t P t) imp A r) Salida.txt (( paratodo p (P p imp A p ) and paratodo t (T t imp P t )) imp A r )
Ejemplo 2:“Dados dos puntos p y q, existe una única recta r 17 Ejemplos Ejemplo 2 4 Ejemplo 2:“Dados dos puntos p y q, existe una única recta r que pasa por ellos”. Dos universos: P = {puntos} y R = {rectas} Relaciones: X = “punto que pertenece a una recta” (3 parámetros) Variables: p, q dos puntos r, s dos rectas Enunciado:
18 Ejemplos 4
19 Ejemplos 4
Conclusiones y Análisis Crítico 5 20 Conclusiones y Análisis Crítico 5 A favor: Herramienta útil para la traducción de MSL a FOL Bastante sencilla y fácil de usar. Permite guardar y recuperar información en disco En contra: Usuarios con conocimientos previos en MSL Ayuda escasa No hay explicación en los pasos de la traducción Mensajes de error poco clarificantes Visualización de símbolos lógicos Corrección de errores al introducir los datos
21 Fin