Lógicas para Aplicaciones Software

Slides:



Advertisements
Presentaciones similares
Seminario: Expresividad semántica y lógica de segundo orden
Advertisements

La aritmetización de la sintaxis
Introducción al Teorema de Gödel
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
LOGICA DIFUSA Lógica bivaluada: cada proposición debe ser verdadera o falsa. Lógica multivaluada: infinitos valores. En 1965 Lotfi A. Zadeh publicó su.
PROF. ING. JULIO CESAR CANO RAMIREZ
¿Cómo hacer para que una máquina comprenda el LN?
Álgebra I Prof: Haroldo Cornejo Olivarí.
A Theory of Action for MultiAgent Planning Michael Georgeff.
Técnico en programación de Software
INTELIGENCIA ARTIFICIAL
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
INFORMACIÓN AUTOMÁTICA Ciencia que estudia el tratamiento
José Alfredo Cervantes Guzmán UMSNH Coautor: Jesús Rivera
CONFERENCIA PARALELA: Lógica y computación
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Distinción entre ciencias formales y ciencias empíricas
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
CAPITULO 2 La Representación del Conocimiento
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
DEFINICIÓN MATEMÁTICA DE UNA FUNCIÓN DE VARIABLE REAL.
Lógica Temporal. Tablas semánticas.
Tema 3. Optimización de Código
Razonamiento inexacto La imprecisión, como así también la incertidumbre, pueden ser tratadas dentro del razonamiento aproximado utilizando la lógica difusa.
DEPARTAMENTO DE FORMACIÓN GENERAL.
PROGRAMACIÓN LÓGICA.
Teoremas de Completitud e Incompletitud de Gödel
Explorar y conocer la técnica de Verificación De Modelos (Model Checking) con la finalidad de poder validar los Modelos de Casos de Uso y así poder ampliar.
Programación de Computadores
TALF 2 Introducción Roberto Moriyón. Objetivo general del curso Estudiar los límites de los algoritmos: –Hay más algoritmos de los que conocemos? Estudiar.
Semana 5 Subprogramas..
Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto.
Metodos de Inferencia Lenin Herrera.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Representación del conocimiento
Agente Latin (agere) el que hace Es una entidad, que existe en el mundo real o artificial, que puede observar el mundo cambiante y realizar acciones en.
U. Diego Portales Elementos de lógica Prof. Haroldo Cornejo O.
Inteligencia artificial
LOGICA DE ENUNCIADO LOGICA DE PREDICADO
LÓGICA PROPOSICIONAL Y PREDICADOS
Campus Estado de México—Raúl Monroy Resolución, la regla de inferencia y el cálculo Raúl Monroy.
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
RESTRICCIONES Ing. Carolina Moreno Departamento de Sistemas Facultad de Electrónica y Telecomunicaciones Universidad del Cauca.
Lógica de proposiciones, deducción natural
Lógica de enunciado La lógica de enunciados o de proposiciones es el nivel más básico de análisis lógico y descansa exclusivamente en las conectivas.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Curso de Teoría del Autómata
Negación: ¬. (También: -, ~ ) Representa la partícula lingüística no o cualquiera otras partículas que incluyan la idea de negación. Al construir la negación.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Gramáticas Formales Cadenas y Lenguajes.
Ingeniería de software
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
El razonamiento: La lógica
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Aplicaciones de la Lógica
LOGICA DE PREDICADOS INTEGRANTES: JULIAN HUMBRETO GONZALEZ SERGIO ALBERTO CAMACHO JUAN FELIPE CUERVO.
Inteligencia Artificial Tema: 5.4. Lógica Difusa. PRESENTA: Fernando Montesinos Ceron Docente: Tomas Torres Ramírez SEMESTRE: 8° S.E.P. D.G.E.S.T. S.N.E.S.T.
Capítulo 3: Conjuntos Autor: José Alfredo Jiménez Murillo.
Abril CV11 MATEMÁTICAS DISCRETAS MARTES 20:30 – 22:00 MIERCOLES 17:00 – 19:00 JUEVES 16:30 – 17:30 M. en C. José del Carmen.
TIPOS DE DATOS ABSTRACTOS
Teorema de Gödel.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Diccionario/Directorio de Datos
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Principios logicos.
Transcripción de la presentación:

Lógicas para Aplicaciones Software 04/19/00 Lógicas para Aplicaciones Software María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia http://www.dsic.upv.es/~alpuente.html 1

Desarrollo de Programas 04/19/00 Desarrollo de Programas Ingeniería de Software Bases de Datos Ingeniería de Conocimiento Inteligencia Artificial Procesamiento de Lenguajes Comprensión L. Natural Sistemas Operativos 1

Lógica y Bases de Datos Lenguaje de Definición de Datos Lenguaje de Actualización Lenguaje de Interrogación Comprobación de Restricciones de Integridad MODELO RELACIONAL = REPRESENTACION POR TABLAS Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso Paloma Presidenta 1000 3/1/94 3/1/94 Claudia Secretaria 1000 12/11/99 12/11/99 Gonzalo Tesorero 1000 12/11/99 12/11/99 Club(Paloma, Presidenta, 1000, 3/1/94, 3/1/94) Club(Claudia, Secretaria, 1000, 12/11/99, 12/11/99) Club(Gonzalo,Tesorero, 1000, 12/11/99, 12/11/99)

LENGUAJES DE CONSULTA RELACIONAL = SIMBOLISMO DEL CP 1 Orden Club Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso Paloma Presidenta 1000 3/1/94 3/1/94 Claudia Secretaria 1000 12/11/99 12/11/99 Gonzalo Tesorero 1000 12/11/99 12/11/99 Dirección Nombre Calle Número Ciudad Paloma Dr. Palos 7 Sagunto Claudia Dr. Palos 7 Sagunto Gonzalo Vechia 7 Pisa Tramvia ?- Club(x,y,z,u,v), Dirección(x,’Dr. Palos’,n,c) ( Cálculo Relacional de Tuplas)

BD = Interpretación de una teoría lógica BD “Deductiva” = Teoría lógica Club(Paloma, Presidenta, 3/1/94) Club(Claudia, Secretaria, 12/11/99) Club(Gonzalo,Tesorero, 12/11/99) Cuota(x,1000)  Club(x,y,z) Ingreso_Club(x,z)  Club(x,y,z)

Desarrollo de Programas 04/19/00 Desarrollo de Programas Ingeniería de Software Bases de Datos Ingeniería de Conocimiento Inteligencia Artificial Procesamiento de Lenguajes Comprensión L. Natural Sistemas Operativos 1

Lógicas para Aplicaciones Software La lógica proporciona una formulación simbólica e independiente del dominio de las leyes del pensamiento humano Este doble carácter de la lógica hace posible mecanizar sus técnicas y métodos

Lógicas para Aplicaciones Software (cont.) PROBLEMA: La lógica clásica se desarrolló para estudiar objetos matemáticos bien definidos, consistentes e inmutables -carácter estático- Sus nuevas aplicaciones requieren formas más dinámicas (y menos perfectas) de lógica Los métodos de la lógica, en general, resultan caros en términos computacionales -> es necesario reducir sus costes sin perder sus buenas propiedades lógicas

Lógicas para Aplicaciones Software (cont.) SOLUCIÓN: Lógica Computacional (Lógicas para Aplicaciones Software) Lógicas con la expresividad y la potencia computacional adecuadas para: Modelar el conocimiento impreciso, incompleto, contradictorio, revisable, dinámico, distribuido... Razonamiento no monótono, aproximado, probabilístico...

Lógicas para Aplicaciones Software 04/19/00 Lógicas para Aplicaciones Software Lógicas para el Desarrollo de Programas Lógicas para la Ingeniería del Software Lógicas para la Ingeniería del Conocimiento y las BDs Lógicas para el Razonamiento aprox. y probabilistico Lógicas para la Concurrencia Lógicas para el Control y las Com. Lógicas para el Diseño de Lenguajes (e.g. visuales) 1

Algunos Ejemplos... Lógicas para el Desarrollo de Programas L. Clausal 04/19/00 Algunos Ejemplos... Lógicas para el Desarrollo de Programas L. Clausal Lógicas para la Ingeniería del Software L. Ecuacional Lógicas para la Ingeniería del Conocimiento y las BDs L. Modal Lógicas para el Razonamiento aprox. y probabilistico L. Probabilística Lógicas para la Concurrencia L. Temporal Lógicas para el Control y las Com. L. Lineal, L. Difusa Lógicas para el Diseño de Lenguajes (e.g. visuales) L. Pictórica 1

Lógicas para Aplicaciones Software 04/19/00 Lógicas para Aplicaciones Software Lógicas para el Desarrollo de Programas Lógicas para la Ingeniería del Software Lógicas para otras Aplicaciones Software 1

Lógicas para el Desarrollo de Programas: 04/19/00 Lógicas para el Desarrollo de Programas: IDEA TRADICIONAL: LÓGICA usada como herramienta de representación de las propiedades de los programas y para razonar sobre éstas (especificación, verificación y documentación del código) I D E A O R I G I N A L !!!!!: LÓGICA = LENGUAJE DE PROGRAMACIÓN 2

P R O G R A M A C I Ó N D E C L A R A T I V A

Ciclo de Vida Clásico MANTENIMIENTO ANALISIS DISEÑO IMPLEMENTAC. Programa VALIDACIÓN TEST -  TEST - 

Ciclo de Vida con Prototipado ANALISIS Especific. IMPLEMENTAC. Programa (informal) TEST -  /  PROTOTIPADO MANTENIMTO. VALIDACIÓN Prototipo

Programación Automática ANALISIS Especific. OPTIMIZACIÓN REQUERIM. Formal MECÁNICA (Prototipo) . Programa VALIDACIÓN MANTENIMTO.

Lógicas para Aplicaciones Software 04/19/00 Lógicas para Aplicaciones Software Lógicas para el Desarrollo de Programas Lógicas para la Ingeniería del Software Lógicas para otras Aplicaciones Software 1

Lógicas para la Ingeniería del Software: 04/19/00 Lógicas para la Ingeniería del Software: IDEA POPULAR: Los Métodos Formales son lenguajes, técnicas y herramientas basados en las matemáticas (generalmente lógica y álgebra) y utilizados para especificar y verificar sistemas software especificación verificación programa si o no 2

La Trilogía del Software: 04/19/00 La Trilogía del Software: Requisitos Programas Datos Componentes Software Procesos Sofware 4

Lógicas para Aplicaciones Software 04/19/00 Lógicas para Aplicaciones Software Lógicas para el Desarrollo de Programas Lógicas para la Ingeniería del Software Lógicas para otras Aplicaciones Software 1

Lógicas para otras Areas de Especialización en Software: 04/19/00 Lógicas para otras Areas de Especialización en Software: Lógicas para la Ingeniería del Conocimiento y las BDs Lógica modal: epistémica, temporal, dinámica, ... Lógicas para el Razonamiento aprox. y probabilistico Lógica geométrica, lógica probabilística Lógicas para el Control y las Comunicaciones: Lógica lineal, lógica difusa Lógicas para la Programación Visual Lógica diagramática, lógica pictórica 2

LOGICA DIFUSA (Fuzzy Logica ) *** una LOGICA Multivaluada (en vez de binaria) *** En LÓGICA CLÁSICA: 0 or 1, blanco o negro, si o no; (en términos del ALGEBRA BOOLEANA: cada elemento está en un conjunto o en otro, pero no en ambos) La LOGICA DIFUSA permite valores entre 0 y 1, tonos del gris, (pertenencia parcial a un conjunto) Se usa para soportar el RAZONAMIENTO APROXIMADO en SISTEMAS EXPERTOS: inferencias lógicas sobre propiedades y relaciones imprecisas. EJEMPLOS: optimización automática del ciclo de lavado de una lavadora en función de la carga, cantidad de detergente, etc; control de ascensores, electrodomésticos, cámaras, instrumentación de automóviles, aeronaves y armamento nuclear.

Lógica Difusa 0.7 El agua está fría 04/19/00 Lógica Difusa Los hechos pueden ser ciertos hasta un cierto grado 0.7 El agua está fría En lógica difusa, las fórmulas tienen un valor de verdad entre 0 y 1 Aplicaciones en Control Difuso, Robótica, S. Expertos 1

04/19/00 Lógica Difusa (cont.) x elemento; S conjunto; Sx nº real entre 0 y 1 (denotando el grado en que x pertenece a S) (AB)x = max (Ax,Bx) (AB)x = min(Ax,Bx) (A)x = 1 - Ax F conjunto de las proposiciones falsas;T verdaderas. t(p)= (1-Fp+Tp)/2 (verdad de p) t(a) = 1 - t(a) t(ab) = min(t(a),t(b)) t(ab) = max(1-t(a),t(b)) 1

Lógica Lineal  why not (borrado) ! of course (copiado - replicación) 04/19/00 Lógica Lineal Nuevas conectivas lógicas (exponenciales): ! of course (copiado - replicación)  why not (borrado) Separación en dos clases de las conectivas estándar :  y  (conjunción acumulativa y alternativa)  y  (disyunción directa y tensorial ) 1

A —o B y A —o C NO IMPLICA A —o B  C 04/19/00 Lógica Lineal (cont.) Una premisa, en lógica clásica, puede usarse tantas veces se quiera (A, A B)  B ... pero A es verdad aún En la vida real, la implicación es causal —o (las condiciones se modifican tras su uso: acción, reacción) EJEMPLO: A gastar 100 ptas. en tabaco, B comprar “ducados”, C comprar “celtas” A —o B y A —o C NO IMPLICA A —o B  C 1

A —o B y A —o C IMPLICA A —o B & C 04/19/00 Lógica Lineal (cont.) Se cumple, en cambio: A —o B y A —o C IMPLICA A —o B & C La conjunción & tiene carácter alternativo, pero NO es una disyunción! Se puede demostrar a la vez A & B—o A y A & B—o B (tampoco es un if_then_else) APLICACIONES: Control de recursos (de máquina) A ‘está libre el canal A’ B, C procesos que pueden fluir por el canal 1

 EXISTENCIAL (sometimes, posibilidad) 04/19/00 Lógica Modal Nuevas conectivas lógicas (cuantif. modales):  UNIVERSAL (always, necesidad)  EXISTENCIAL (sometimes, posibilidad) para formalizar el tiempo, las creencias, etc.. Ejemplo: estudiante(A)  profesional(A) 1

Introducción a la Lógica Modal María Alpuente Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Camino de Vera s/n Apdo. 22.012 46.071 Valencia (España) E.mail: alpuente@dsic.upv.es URL: http://www.dsic.upv.es/users/elp/alpuente.html

Lógicas no Estándar (Modificaciones y Extensiones de la Lógica Clásica) Lógica multi-valuada (N valores) Lógica Parcial Lógica Difusa Lógica Intuicionista Lógicas Modales MODIFICAN GENERALIZAN

Lógicas Modales GENERALIZAN la lógica clásica introduciendo dos conectivas lógicas adicionales (u operadores modales):  UNIVERSAL (necesidad) ◊ EXISTENCIAL (posibilidad) que permiten formalizar: la necesidad el tiempo las creencias, etc.. IDEA: la verdad es un concepto relativo que depende de los ‘mundos posibles’

Lógicas Modales (cont.) (◊ A =def    A) Interpretaciones  A necesariamente es verdad A siempre será verdad A debe suceder A cuando termina el programa, es verdad A es conocido que A se cree que se cumple A Interpretaciones ◊ A posiblemente es verdad A a veces será verdad A puede suceder A existe una ejecución del programa que termina siendo A verdad no se conoce el opuesto de A no se cree que se cumple el opuesto de A

Lógicas Modales (cont.) Lógicas Temporales (lógicas del tiempo)  A (always A) ◊ A (sometimes A) Lógicas Dinámicas (lógicas de la acción, lógica modal para razonar acerca de las acciones y procesos) Lógicas Epistémicas (lógicas del Conocimiento y de la Creencia/Ignorancia)

Lógicas Modales (cont.) (TEORÍA DE MODELOS, caso proposicional) Un marco de interpretación (frame) es un par F=(W,R) donde: W es un conjunto no vacío (Universo de puntos o mundos posibles) R es una relación binaria sobre W (Relación de accesibilidad) Sea P un conjunto de fórmulas. Un modelo para P sobre un marco F=(W,R) es una terna M=(W,R,V) donde: V es una aplicación de P en 2W (el conjunto de los subconjuntos de W) que asigna a cada p  P el subconjunto de puntos w  W en los que p es verdad

Lógicas Modales (cont.) (TEORÍA DE MODELOS, caso proposicional) La relación ‘la fórmula A es verdad en el punto w en el modelo M’ (en símbolos M =w A) se define recursivamente como sigue:  (M =w false) M =w p si w  V(p) M =w (A) si (M =w AM =w) M =w  A si wRt implica que M =t A para todo t  W

Lógicas Modales (cont.) (TEORÍA DE MODELOS, caso proposicional) ‘La fórmula A es verdad en el modelo M=(W,R,V) si es verdad en todos los puntos del modelo’ (M = A si M =w A para todo w  W) ‘La fórmula A es verdad en el marco F=(W,R) si es verdad en cada modelo M=(W,R,V)’ (F= A si M =A para todo M=(W,R,V)) ‘La fórmula A es válida si es verdad en cada marco’ (= A si F= A para todo F)

Lógicas Modales (cont.) (TEORÍA DE MODELOS, caso proposicional) ‘La fórmula  A es verdad en el mundo w si A es verdad en todos los mundos posibles accesibles desde w’. ‘La fórmula ◊A es verdad en el mundo w si A es verdad en alguno de los mundos posibles accesibles desde w’.

Lógicas Multimodales M =t A para todo t  W Son lógicas cuyos lenguajes tienen más de un operador modal. Se utilizan colecciones de símbolos {[i] | i  I} cada uno de los cuales corresponde a un operador universal Los operadores existenciales duales son <i> y se definen como [i] si A es una fórmula, entonces [i]A e <i>A también lo son Un marco multimodal es F=(W, {Ri | i  I}) donde las Ri son relaciones Ri W x W para cada i  I M =w[i]A si w Ri t implica que M =t A para todo t  W

Una Axiomatización de la Lógica (Multi-)Modal El sistema axiomático más simple es K(a) (Prior 65): AXIOMAS: algún conjunto de axiomas de la lógica clásica K(a): ([a]A ^ [a](A B ))  [a]B REGLAS DE INFERENCIA Modus Ponens Necesidad A |- [a] A Axiomas adicionales: D(a): [a]A  <a>A T(a): [a]A  A 4(a): [a]A  [a][a]A 5(a): <a>A  [a]<a>A B(a): A  [a]<a>A G(a): [a]([a]A   [a]A (a): <a>A [a]A

Lógicas del Tiempo discreto o continuo? lineal, paralelo o ramificado? TOPOLOGÍA del tiempo discreto o continuo? (tiempo continuo: hay un momento entre cada dos) lineal, paralelo o ramificado? (cada rama corresponde a una posible historia del mundo. Puede haber ramificaciones en el futuro -pasado único- o también en el pasado -distintos pasados-) acotado o sin acotar? circular?

Lógicas del Tiempo (cont) TAXONOMIAS Aproximación de primer orden -argumento extra para el tiempo- Aproximaciones modales Discrete & Linearly Ordered Time (next, since, until) Branching Time Dense Time Interval Logic Terminología: tensers: partidarios aprox. modal detensers: partidarios aprox. primer orden Las dos aproximaciones son rivales: (F significa ‘en el futuro’) F existe x. p(x) existe x. F p(x) Para el detenser las fórmulas de primer orden correspondientes son: existe t. posterior(t,now) & existe x. p(x,t) existe x existe t. posterior(t,now) & p(x,t) y son equivalentes en lógica de primer orden (las cosas allí tienen una existencia atemporal)

Lógicas Temporales  A (always A) ◊ A (sometimes A) La misma sentencia puede tener diferentes valores de verdad en distintos momentos del tiempo Los elementos de W son los momentos del tiempo sRt significa: s ocurre después de t (antes de t)  A (always A) A será verdad en todos los tiempos futuros (A fue verdad en todos los tiempos del pasado) ◊ A (sometimes A) A será verdad en algún tiempo del futuro (A fue verdad en algún tiempo del pasado)

Lógica Dinámica Es una lógica multimodal Se asocia un operador modal [i] con cada instrucción i de un lenguaje de programación sRt significa: hay una ejecución del programa que empieza en s y termina en t [i] A (tras ejecutarse la instrucción i, es verdad A) <i> A (hay una ejecución de la instrucción i, que termina siendo verdad A) W es el conjunto de los distintos estados de un proceso computacional ________________ (L. dinámica simple:)  A (cada ejecución del programa que termina acaba en un estado en el que es verdad A) ◊ A (hay alguna ejecución del programa que termina en un estado en el que es verdad A)

Lógica Dinámica (cont.) Se usa un conjunto de constructores dinámicos: composición secuencial (;) (con elemento neutro ID, el programa que no hace nada) unión () (elección indeterminista) repetición finita de un programa (*) ejecución inversa (-1) (t;t -1 es el programa que no cambia nada) Axiomas adicionales: 1: [t;t’]A  [t][t’]A 2: {ID}A  A for {ID}=<ID>,[ID] 3: [tt’]A  [t]A^[t’]A 4: [t*]A  A^ t[t*]A

Lógicas del Conocimiento y de la Creencia Los operadores modales se interpretan como conocimiento o creencia  A (se conoce A (se cree A)) ◊ A (no se conoce el opuesto de A (no se cree el opuesto de A)) Existen variantes multimodales [i] A (el agente i conoce o cree A) <i> A (el agente i no conoce o no cree el opuesto de A)

Deducción Modal Automática Para automatizar la lógica modal es posible: desarrollar métodos de deducción modal traducir a otras lógicas (con teorías ecuacionales y sorts) Los resultados estándar (completitud, etc) son muy complejos en lógica modal: no existe una forma normal para las fórmulas modales ◊ (p ^q) el concepto de unificación se debe generalizar (e.g., p y ◊p son contradictorios, mientras que ◊p y ◊p no lo son) la contradicción puede estar sumergida varios niveles (e.g., ◊p y ◊p) o escondida en varias cláusulas (e.g., (p v q), ◊p y ◊q) los cuantificadores y operadores modales interaccionan

Traducción a lógica clásica T(w,p(t1,...,tn)) = p’(w,t1,...,tn) T(w,A) = T(w,A) T(w,AvB) = T(w,A) v T(w,B) T(w,xA) = xT(w,A) T(w,A) = w’(R(w,w’) v T(w’,A)) Teorema. Sea L una logica multimodal. Sea A una fórmula cerrada. A es insatisfacible en L sii T(wo,A) es insatisfacible en lógica de primer orden.

Programación Lógica Modal y Temporal Modal Prolog (Molog) Temporal Prolog (MetaTem, Tempura) IDEA. Extender HCL con conectivas modales o temporales: Fp (en el futuro, p será siempre verdad) Pp (en el pasado, p fue siempre verdad) ◊p = p v Fp v Pp  p = ◊p

Sintaxis de un Prolog Temporal Un programa es un conjunto de cláusulas Una cláusula es una cláusula ordinaria o una cláusula always Una cláusula always es  p, donde p es una cláusula ordinaria Una cláusula ordinaria es una cabeza H o un H A, donde A es un cuerpo Una cabeza es un átomo o FA o PA, donde A es una conjunción de cláusulas ordinarias Un cuerpo es un átomo, una conjunción de cuerpos o un FA o PA, donde A es un cuerpo Un objetivo es un cuerpo