maría alpuente frasnedo depto. de sistemas informáticos y computación u. politécnica de valencia

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

Upload: zody

Post on 06-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

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. Desarrollo de Programas. Ingeniería de Software. Bases de Datos. Ingeniería de Conocimiento. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

María Alpuente Frasnedo

Depto. de Sistemas Informáticos y Computación

U. Politécnica de Valencia

http://www.dsic.upv.es/~alpuente.html

Lógicas para Aplicaciones Software

Page 2: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Desarrollo de Programas

Ingeniería de

Software

Ingeniería de Conocimiento

Inteligencia Artificial

Procesamiento de Lenguajes

Comprensión L. Natural

Sistemas Operativos

Bases de Datos

Page 3: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógica y Bases de Datos

Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso

Paloma Presidenta 1000 3/1/94 3/1/94Claudia Secretaria 1000 12/11/99 12/11/99Gonzalo Tesorero 1000 12/11/99 12/11/99

MODELO RELACIONAL = REPRESENTACION POR TABLAS

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)

• Lenguaje de Definición de Datos• Lenguaje de Actualización• Lenguaje de Interrogación• Comprobación de Restricciones de Integridad

Page 4: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso

Paloma Presidenta 1000 3/1/94 3/1/94Claudia Secretaria 1000 12/11/99 12/11/99Gonzalo Tesorero 1000 12/11/99 12/11/99

Nombre Calle Número Ciudad Paloma Dr. Palos 7 Sagunto Claudia Dr. Palos 7 Sagunto Gonzalo Vechia 7 Pisa

Tramvia

Club

Dirección

?- Club(x,y,z,u,v), Dirección(x,’Dr. Palos’,n,c)( Cálculo Relacional de Tuplas)

LENGUAJES DE CONSULTA RELACIONAL = SIMBOLISMO DEL CP 1 Orden

Page 5: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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)

Page 6: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Desarrollo de Programas

Ingeniería de

Software

Ingeniería de Conocimiento

Inteligencia Artificial

Procesamiento de Lenguajes

Comprensión L. Natural

Sistemas Operativos

Bases de Datos

Page 7: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Page 8: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Page 9: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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...

Page 10: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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)

Page 11: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Page 12: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas para el Desarrollo de Programas

Lógicas para la Ingeniería del Software

Lógicas para otras Aplicaciones Software

Lógicas para Aplicaciones Software

Page 13: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Lógicas para el Desarrollo de Programas:

Page 14: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Page 15: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

ANALISIS DISEÑO IMPLEMENTAC. Programa

Ciclo de Vida Clásico

VALIDACIÓN TEST - TEST -

MANTENIMIENTO

Page 16: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

ANALISIS Especific. IMPLEMENTAC. Programa (informal)

Ciclo de Vida con Prototipado

MANTENIMTO.

TEST - /

VALIDACIÓN Prototipo

PROTOTIPADO

Page 17: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

ANALISIS Especific. OPTIMIZACIÓN

REQUERIM. Formal MECÁNICA

(Prototipo).

Programación Automática

VALIDACIÓN

MANTENIMTO.

Programa

Page 18: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas para el Desarrollo de Programas

Lógicas para la Ingeniería del Software

Lógicas para otras Aplicaciones Software

Lógicas para Aplicaciones Software

Page 19: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Lógicas para la Ingeniería del Software:

verificación si o no

especificación

programa

Page 20: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Requisitos

Datos Programas

Componentes SoftwareProcesos Sofware

La Trilogía del Software:

Page 21: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas para el Desarrollo de Programas

Lógicas para la Ingeniería del Software

Lógicas para otras Aplicaciones Software

Lógicas para Aplicaciones Software

Page 22: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas para la Ingeniería del Conocimiento y las BDsLógica modal: epistémica, temporal, dinámica, ...

Lógicas para el Razonamiento aprox. y probabilisticoLó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 VisualLógica diagramática, lógica pictórica

Lógicas para otras Areas de Especialización en Software:

Page 23: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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.

Page 24: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Lógica Difusa

Page 25: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

x elemento; S conjunto; Sx nº real entre 0 y 1

(denotando el grado en que x pertenece a S)

(AB)x = max (Ax,Bx) (AB)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(ab) = min(t(a),t(b))t(ab) = max(1-t(a),t(b))

Lógica Difusa (cont.)

Page 26: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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 )

Lógica Lineal

Page 27: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Una premisa, en lógica clásica, puede usarsetantas 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

Lógica Lineal (cont.)

Page 28: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

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

Lógica Lineal (cont.)

Page 29: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Nuevas conectivas lógicas (cuantif. modales):

� UNIVERSAL (always, necesidad)

EXISTENCIAL (sometimes, posibilidad)

para formalizar el tiempo, las creencias, etc..

Ejemplo: estudiante(A) profesional(A)

Lógica Modal

Page 30: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Introducción a laLógica ModalMaría Alpuente

Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de ValenciaCamino de Vera s/nApdo. 22.012 46.071 Valencia (España)

E.mail: [email protected]: http://www.dsic.upv.es/users/elp/alpuente.html

Page 31: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas no Estándar(Modificaciones y Extensiones de la Lógica Clásica)

n Lógica multi-valuada (N valores)n Lógica Parcialn Lógica Difusan Lógica Intuicionista

n Lógicas Modales

MO

DIF

IC

AN

GE

NE

RA

LI

ZA

N

Page 32: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales

n GENERALIZAN la lógica clásica introduciendo dos conectivas lógicas adicionales (u operadores modales):

u � UNIVERSAL (necesidad)u ◊ EXISTENCIAL (posibilidad)

que permiten formalizar:

u la necesidadu el tiempou las creencias, etc..

n IDEA: la verdad es un concepto relativo que depende de los ‘mundos posibles’

Page 33: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n Interpretaciones � A

n necesariamente es verdad An siempre será verdad An debe suceder A

n cuando termina el programa, es verdad A

n es conocido que A

n se cree que se cumple A

Interpretaciones ◊ A

n posiblemente es verdad An a veces será verdad An puede suceder A

n existe una ejecución del programa que termina siendo A verdad

n no se conoce el opuesto de An no se cree que se cumple el opuesto de A

(◊ A =def � A)

Page 34: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n Lógicas Temporales (lógicas del tiempo)u � A (always A)u ◊ A (sometimes A)

n Lógicas Dinámicas(lógicas de la acción, lógica modal para razonar

acerca de las acciones y procesos)n Lógicas Epistémicas

(lógicas del Conocimiento y dela Creencia/Ignorancia)

Page 35: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n Un marco de interpretación (frame) es un par F=(W,R)

n donde: W es un conjunto no vacío n (Universo de puntos o mundos posibles)n R es una relación binaria sobre Wn (Relación de accesibilidad)

n Sea P un conjunto de fórmulas.n Un modelo para P sobre un marco n F=(W,R) es una terna M=(W,R,V)n donde: V es una aplicación de P en 2W

n (el conjunto de los subconjuntos de W)

n que asigna a cada p P el subconjunto de puntos w W en los que p es verdad

(TEORÍA DE MODELOS, caso proposicional)

Page 36: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n 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:

F (M =w false)

F M =w p si w V(p)

F M =w (A) si

(M =w AM =w)

F M =w � A si wRt implica que

M =t A para todo t W

(TEORÍA DE MODELOS, caso proposicional)

Page 37: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n ‘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)

n ‘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))

n ‘La fórmula A es válida si es verdad en cada marco’

(= A si F= A para todo F)

(TEORÍA DE MODELOS, caso proposicional)

Page 38: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Modales (cont.)

n ‘La fórmula � A es verdad en el mundo w si A es verdad en todos los mundos posibles accesibles desde w’.

n ‘La fórmula ◊A es verdad en el mundo w si A es verdad en alguno de los mundos posibles accesibles desde w’.

(TEORÍA DE MODELOS, caso proposicional)

Page 39: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Multimodalesn Son lógicas cuyos lenguajes tienen más de un operador modal. n Se utilizan colecciones de símbolos

{[i] | i I}

cada uno de los cuales corresponde a un operador universal

n Los operadores existenciales duales

son <i> y se definen como [i]n si A es una fórmula, entonces [i]A e <i>A también lo sonn Un marco multimodal es

F=(W, {Ri | i I})

donde las Ri son relaciones Ri W x W

para cada i In M =w[i]A si w Ri t implica que

M =t A para todo t W

Page 40: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Una Axiomatización de laLógica (Multi-)Modal n El sistema axiomático más simple es K(a) (Prior 65):

u AXIOMAS: F algún conjunto de axiomas de la

lógica clásicaF K(a): ([a]A ^ [a](A B )) [a]B

u REGLAS DE INFERENCIAF Modus PonensF Necesidad A |- [a] A

n Axiomas adicionales:F D(a): [a]A <a>AF T(a): [a]A AF 4(a): [a]A [a][a]AF 5(a): <a>A [a]<a>AF B(a): A [a]<a>AF G(a): [a]([a]A [a]AF (a): <a>A [a]A

Page 41: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas del Tiempo

n TOPOLOGÍA del tiempo

n discreto o continuo?u (tiempo continuo: hay un momento entre cada dos)

n lineal, paralelo o ramificado?u (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-)

n acotado o sin acotar?n circular?

Page 42: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas del Tiempo (cont)

TAXONOMIAS

n Aproximación de primer orden-argumento extra para el tiempo-

n Aproximaciones modalesu Discrete & Linearly Ordered Time (next,

since, until)u Branching Timeu Dense Timeu Interval Logic

Page 43: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas Temporales

n La misma sentencia puede tener diferentes valores de verdad en distintos momentos del tiempo

n Los elementos de W son los momentos del tiempon sRt significa: s ocurre después de t (antes de t)

u � A (always A)u A será verdad en todos los tiempos futuros (A

fue verdad en todos los tiempos del pasado)

u ◊ A (sometimes A)u A será verdad en algún tiempo del futuro (A

fue verdad en algún tiempo del pasado)

Page 44: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógica Dinámica

n Es una lógica multimodaln Se asocia un operador modal [i] con cada

instrucción i de un lenguaje de programaciónn sRt significa: hay una ejecución del programa que empieza en s y

termina en tu [i] A (tras ejecutarse la instrucción i, es verdad A)u <i> A (hay una ejecución de la instrucción i, que termina siendo

verdad A)n W es el conjunto de los distintos estados de un proceso computacional

u ________________ (L. dinámica simple:)u � A (cada ejecución del programa que termina acaba en un

estado en el que es verdad A)u ◊ A (hay alguna ejecución del programa que termina en un

estado en el que es verdad A)

Page 45: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógica Dinámica (cont.)

n Se usa un conjunto de constructores dinámicos: u composición secuencial (;)

(con elemento neutro ID, el programa que no hace nada)

u unión () (elección indeterminista)

u repetición finita de un programa (*)u ejecución inversa (-1)

(t;t -1 es el programa que no cambia nada)

n Axiomas adicionales:

F 1: [t;t’]A [t][t’]AF 2: {ID}A A for {ID}=<ID>,[ID]F 3: [tt’]A [t]A^[t’]AF 4: [t*]A A^ t[t*]A

Page 46: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Lógicas del Conocimiento y de la Creencia

n Los operadores modales se interpretan como conocimiento o creencia

u � A (se conoce A (se cree A))u ◊ A (no se conoce el opuesto de A

(no se cree el opuesto de A))

n Existen variantes multimodales

u [i] A (el agente i conoce o cree A)u <i> A (el agente i no conoce o no cree

el opuesto de A)

Page 47: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Deducción Modal Automática

n Para automatizar la lógica modal es posible:u desarrollar métodos de deducción modalu traducir a otras lógicas (con teorías ecuacionales y sorts)

n Los resultados estándar (completitud, etc) son muy complejos en lógica modal:u no existe una forma normal para las

fórmulas modales ◊ (p ^q)u el concepto de unificación se debe

generalizar (e.g., �p y ◊p soncontradictorios, mientras que ◊p y ◊p no lo son)

u 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)

u los cuantificadores y operadores modales interaccionan

Page 48: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Traducción a lógica clásica

n T(w,p(t1,...,tn)) = p’(w,t1,...,tn)n T(w,A) = T(w,A)n T(w,AvB) = T(w,A) v T(w,B)n T(w,xA) = xT(w,A)n 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) esinsatisfacible en lógica de primer orden.

Page 49: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Programación Lógica Modal y Temporal

n Modal Prolog (Molog) n 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

Page 50: María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Sintaxis de un Prolog Temporal

n Un programa es un conjunto de cláusulasn Una cláusula es una cláusula ordinaria o

una cláusula alwaysn Una cláusula always es � p, donde p es una cláusula

ordinaria n Una cláusula ordinaria es una cabeza H o un H A, donde

A es un cuerpon Una cabeza es un átomo o FA o PA, donde A es una

conjunción de cláusulas ordinarias

n Un cuerpo es un átomo, una conjunción de cuerpos o un FA o PA, donde A es un cuerpo

n Un objetivo es un cuerpo