Vous êtes sur la page 1sur 16

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin


Universidad Fermn Toro
Cabudare-Edo Lara

Prolog, bases de datos deductivas, lgica modal y


lgica temporal

Alumnos:
lvarez Mara D., CI: 17.784.337
Ballester Isangel, CI: 19.835.208
Caldern Karla, CI: 24.879.030
Carpio Cayetano, CI: 18.673.312
Dvila Robert, CI: 19.640.106
Daz Andrea, CI: 24.393.872
Rodrguez Milerth, CI: 20.671.519
Rujana Herbert, CI: 21.275.419
Tn Omar, CI: 21.128.307
Valera Gustavo, CI: 23.488.241

Cabudare, 3 de julio de 2015

Introduccin
Prolog (Programming in Logic) en espaol Programacin en Lgica. Es un lenguaje
de programacin lgica cuya primera versin fue desarrollada a principios de la dcada de
1970 por Colmerauer (Universidad de Marsella, Francia). Este Lenguaje es utilizado para
programar artefactos electrnicos mediante el paradigma lgico con tcnicas de produccin
final interpretada. Es bastante conocido en el rea de la Ingeniera Informtica para
investigacin en Inteligencia Artificial.
Las bases de datos deductivas surgieron en la poca de los ochenta y desde entonces no
han sido muy usadas a nivel comercial, pero s en entornos de investigacin y campos de
las ciencias aplicadas. Un sistema de base de datos deductiva, es un sistema de base de
datos pero con la caracterstica de que a travs informacin extensional de reglas y hechos
se pueden deducir o inferir informacin adicional a la que tenemos almacenada en nuestra
base de datos.
La lgica modal es muy antigua tuvo gran desarrollo durante la Edad Media, la lgica
modal contempornea, sin embargo, surge a principios del siglo XX. La lgica modal es un
sistema formal que intenta capturar el comportamiento deductivo de algn grupo de
operadores modales. Los operadores modales son expresiones que califican la verdad de los
juicios.
La lgica temporal fue estudiada por Aristteles, en algunos de sus escritos hay
expresiones que guardan una cierta analoga con la lgica temporal de primer orden, es de
esta manera como aparecen expresiones con cuantificadores existenciales y cuantificadores
universales.

Prolog

Prolog es un lenguaje de programacin lgica, est lenguaje est orientado a la


especificacin de relaciones para responder consultas. En ese sentido Prolog es similar a un
sistema de base de datos, aunque en el contexto de la inteligencia artificial se prefiere
hablar de bases de conocimiento, enfatizando la complejidad estructural de los datos y de
las deducciones que se pueden obtener de ellos.
Los programas en Prolog, se componen de Hechos y Reglas, la informacin se extrae a
base de consultas. Sus paradigmas de programacin son Imperativa, Orientacin objetos,
funcional y declarativa.
Hechos
Los hechos en prolog son una relacin entre objetos, Ejemplo:
La capital de Francia es Pars. En Prolog se escribe: capital (francia, pars).
Sintaxis de los hechos
La sintaxis en general es, relacin (objeto, objeto,...). La relacin se conoce como el
predicado y los objetos como los argumentos.
Para tener una buena sintaxis se debe hacer lo siguiente:
Los nombres de todos los predicados y argumentos deben de comenzar con una
letra minscula.
Primero se escribe el predicado, Los argumentos se escriben separndolos mediante
comas y encerrados entre parntesis.
Al final del hecho debe ir un punto.
Ejemplo:
Objetos: Juan, Mara, Cocido, Vino.
Relaciones: A <Objeto> le gusta <Objeto>
En hechos:
A Juan le gusta el cocido.
A Juan le gusta el vino.
A Mara le gusta el vino.
En Prolog:
le_gusta_a(juan, cocido).
le_gusta_a(juan , vino).
le_gusta_a(mara, vino)
Reglas
Una regla consta de dos partes, una cabeza y un cuerpo. La cabeza y el cuerpo estn
unidos mediante el smbolo:
Cabeza: cuerpo.

El cuerpo puede estar formado por varios hechos. Ejemplo: Cabeza: hecho1,
hecho2,..., hecho.
La separacin: se lee si. (La cabeza es verdad si el cuerpo es verdad.)
Ejemplo:
Es divisible por dos(X): par(X). (Se lee X es divisible por dos si X es par.). Esta
clusula en Prolog es equivalente a la frmula de primer orden ( X) par(X) Es divisible
por dos(X).
Por tanto, si podemos probar que X es par, entonces hemos probado que X es divisible
por dos.
Nota: En la cabeza de una regla no puede haber ms de un hecho.
Ejemplo:
rico(juan) feliz(juan) poderoso(juan)
No se puede expresar directamente en Prolog como feliz(juan), poderoso(juan):
rico(juan)
Consulta
No es necesario programar el mecanismo de bsqueda. Prolog utiliza la resolucin en
sus derivaciones (generalizacin del modus Ponendo Ponens junto con la unificacin).
Ejemplo:
lagarto(iguana).
serpiente(vibora).
mamifero(conejo).
Las consultas pueden ser interactivas mediante el indicador de comandos (?-):

Entrada y Salida
El lenguaje Prolog ofrece toda una serie de predicados predefinidos para la realizacin
de operaciones de entrada/salida. Se tratan de predicados que no tienen sentido desde un
punto de vista puramente lgico, sino que producen un efecto colateral (escritura/lectura
de algn termino, apertura/cierre de un fichero, entre otros).
Valores para el argumento Modo
Read: Para abrir el fichero en modo lectura.
Write: Para abrir el fichero en modo escritura (si el fichero no existe, lo crea; si ya
existe, su contenido se perder).
Append: Para abrir el fichero en modo escritura (si el fichero no existe, lo crea; si ya
existe, las operaciones de escritura se realizaran al final del fichero).
Predicados de entrada/salida
Descripcin de algunos de los predicados de entrada/salida ms bsicos:
open(+NombreFichero, +Modo, -Fichero)
Si NombreFichero, es un nombre de fichero valido, abre el fichero correspondiente de
acuerdo con el modo especificado por Modo, y unifica con Fichero el identificador del
fichero abierto.
close(+Fichero)
Cierra el fichero asociado con el identificador Fichero.
set_input(+Fichero)
set_output(+Fichero)
Convierte al fichero con identificador Fichero en el fichero de lectura (escritura)
actual.
current_input(?Fichero) current_output(?Fichero)

Fichero es el fichero de lectura (escritura) actual.


Nota: El fichero por defecto, tanto para lectura como para escritura, es la pantalla,
cuyo identificador es user.
read(?Termino)
read(+Fichero, ?Termino)
Lee el siguiente trmino (del fichero de lectura actual o del fichero especificado,
previamente abierto en modo lectura) y unifica el resultado con Trmino. El trmino debe
acabar con un punto y un retorno de carro.
write(?Termino)
write(+Fichero, ?Termino)
Escribe el trmino en el fichero de escritura actual o en el fichero especificado.
(Previamente abierto en modo escritura).
nl
nl(+Fichero)
Escribe un retorno de carro en el fichero de escritura actual o en el fichero
especificado. (Previamente abierto en modo escritura)
Ejemplos: Se incluyen a continuacin algunos ejemplos tpicos de predicados que
realizan operaciones de entrada/salida (fichero entrada-salida.pl):
% pide_numero(-X) % X es un nmero ledo del fichero de lectura actual.
pide_numero(X):- write(Introduzca un numero: ), nl, read(X).
% pide un nmero y escribe su cuadrado por pantalla cuadrado:- pide_numero(X),
escribe_cuadrado(X).
Sintaxis
Trminos. Al igual que en Lgica de Primer Orden, los trminos en Prolog se clasifican
en tres categoras: constantes, variables y trminos compuestos.
Constantes: Prolog distingue dos tipos de constantes.

1. Nmeros: Este tipo de constantes se utilizan para representar tanto nmeros enteros
como nmeros reales y poder realizar con ellos operaciones aritmticas.
La representacin ms corriente de los nmeros enteros es la notacin decimal habitual
(por ejemplo 0, 1, -320, 539, entre otros.) aunque tambin se pueden representar en otras
bases no decimales.
Los nmeros reales se pueden representar tanto en notacin decimal (por ejemplo 1.0,
-3.14) como en notacin exponencial (por ejemplo 4.5E6, -0.12e+3, 12.0e-2). En ambos
casos debera haber siempre por lo menos un digito a cada lado del punto.
2. tomos: Los tomos (no confundir con las formulas atmicas de la LPO) se utilizan
para dar nombre a objetos especficos, es decir, representan individuos concretos. Existen
tres clases principales de tomos:
Cadenas formadas por letras, dgitos y el smbolo de subrayado, que deben empezar
necesariamente por una letra minscula.
Cadenas vlidas: f, pepe1, libro33a, libro_blanco. Cadenas no vlidas: 1libro, libroblanco, _hola, Libro.
Cualquier cadena de caracteres encerrada entre comillas simples.

Ejemplos:
SICStus Prolog, Libro-blanco, 28003 Madrid. Estos tomos son tiles cuando se
necesita trabajar con constantes que empiecen por una letra mayscula o por un dgito.
Existe adems otro tipo de tomos, compuestos por combinaciones especiales de signos, de
uso menos comn.
Variables: Las variables en Prolog se representan mediante cadenas formadas por letras,
dgitos y el smbolo de subrayado, pero deben necesariamente empezar por una letra
mayscula o por un smbolo de subrayado.
Ejemplos: X, Resultado_1, Entrada, _total3, _3bis, _
Las variables que empiezan con un smbolo de subrayado, _, se denominan variables
annimas, y se usan cuando se necesita trabajar con variables cuyos posibles valores no
interesan. Su utilidad se describir ms adelante al analizar la construccin de programas
y consultas.
Trminos Compuestos: Los trminos compuestos, o estructuras, se construyen mediante
un smbolo de funcin, denominado functor, que se denota mediante un tomo, seguido,
entre parntesis, por una serie de trminos separados por comas, denominados
argumentos.
Ejemplos: Fecha (1, mayo, 2001), punto(X, Y), recta (punto(1,2), punto(3,5)).
Nota: Al escribir un trmino compuesto, no puede haber ningn espacio entre el
functor y el parntesis abierto previo a los argumentos. Por ejemplo, punto (X, Y) no
es un trmino compuesto correcto y producir un error de compilacin.

Prolog tambin permite escribir ciertos trminos compuestos en forma de operadores,


generalmente en notacin infija en el caso de functores de aridad 2 y en notacin prefija o
postfija en el caso de functores de aridad 1.
Este es el caso de los operadores aritmticos predefinidos de Prolog, que se
mencionarn ms adelante, y que permiten escribir trminos compuestos de la forma: X+Y
o -X en lugar de +(X, Y) o -(X). El programador tambin puede definir sus propios
operadores.
Uno de los trminos compuestos ms importantes y tiles que ofrece Prolog son
las listas; son secuencias ordenadas de cero o ms elementos, donde los elementos pueden
ser cualquier tipo de trmino. Prolog representa las listas teniendo en cuenta su estructura
recursiva:
La lista vaca se representa mediante el tomo [].
Toda lista no vaca tiene una cabeza (que ser cualquier trmino) y un resto (que ser
una lista), y se representa mediante un trmino compuesto de aridad 2, cuyo functor es
un punto () y cuyos argumentos son, respectivamente, la cabeza y el resto de la lista.

Ejemplos: La lista compuesta por un nico elemento, la constante a, se representa como


(a, []). La lista compuesta por los elementos a, b y c se corresponde con la estructura
(a, (b, (c, []))).
Dado que la notacin anterior puede resultar incmoda a la hora de escribir listas
complicadas, Prolog admite tambin una notacin ms sencilla que consiste en enumerar
entre corchetes todos los elementos de la lista, separados por comas. Con esta
notacin, las dos listas del ejemplo anterior se representaran, respectivamente, como [a] y
[a, b, c]. Prolog tambin dispone de otra notacin para las listas, que consiste en
representar la lista con cabeza X y resto Y mediante el trmino [X |Y ]. Esta ltima
notacin es fundamental para poder separar la cabeza del resto de una lista. Su utilidad en
la prctica se ver en las clases de problemas.

Programas
Los programas Prolog, son programas lgicos definidos, y estn compuestos por una
serie de clusulas de Horn positivas, esto es, hechos y reglas. Hay que tener en cuenta las
siguientes diferencias en cuanto a la notacin empleada en la Programacin Lgica
Definida:
Los smbolos de predicado se denotan mediante tomos, por lo que no pueden empezar,
como ocurre en Programacin Lgica, mediante una letra mayscula. Obsrvese por lo
tanto que el lenguaje Prolog no distingue entre smbolos de predicado, smbolos de
funcin y constantes, puesto que todos ellos se representan mediante tomos (el
compilador distingue unos de otros dependiendo del contexto en el que aparecen). Para
referirse a un predicado
nombre_predicado se suele emplear
la notacin
nombre_predicado/n, donde n indica el nmero de argumentos del predicado.
Los hechos deben terminar con un punto y omitir el smbolo utilizado en
Programacin Lgica. As, el hecho A se escribe en Prolog de la forma A..
Las reglas deben tambin terminar con un punto y sustituir el smbolo de la
Programacin Lgica por el smbolo :-. As, la regla A A1 , . . . , An se escribe en
Prolog de la forma A :- A1 , . . . , An ..
La siguiente tabla resume las distintas notaciones para clusulas de Horn vistas
hasta el momento

Operadores aritmticos
Prolog tiene predefinidos los operadores aritmticos ms habituales, mediante los que
se pueden formar expresiones aritmticas. A continuacin se enumeran algunos de los ms
importantes:

Tngase en cuenta que los operadores anteriores permiten simplemente construir


expresiones aritmticas, pero stas no son ms que estructuras (trminos compuestos) que
no representan ningn valor.
Por ejemplo, la expresin 3+5 no es ms que el trmino compuesto + (3,5) escrito en
notacin infija.
As, no es posible hacer consultas del estilo ?- 3+5., puesto que + no es un
predicado, y si se hiciese la consulta ?- 3+5 = 8., la respuesta de Prolog seria no,
dado que el trmino compuesto +(3,5) no es unificable con el trmino constante 8.
Para poder evaluar expresiones aritmticas en Prolog hay que utilizar los predicados
aritmticos.
Predicados Aritmticos.
Los predicados aritmticos predefinidos de Prolog se utilizan para evaluar expresiones
aritmticas. El ms habitual es el predicado predefinido is, que se usa en notacin infija
de la siguiente forma:
X is Y
Si Y es una expresin aritmtica, esta se evala y el resultado se intenta
unificar con X.
A la hora de usar este predicado hay que tener en cuenta las siguientes
consideraciones:
1. Su uso puede dar lugar a un error en los dos siguientes casos:
Cuando la parte derecha no es una expresin aritmtica.
?- X is a+1. {DOMAIN ERROR: _157 is a+1 - arg 2: expected expression, found a}
Cuando la parte derecha es una expresin aritmtica pero no se puede evaluar:
?- X is 4*Z. {INSTANTIATION ERROR: _157 is 4*_155 - arg 2}
Salvo en los casos anteriores, el resultado del predicado depender de si la parte
izquierda unifica o no con el resultado obtenido al evaluar la parte derecha:

La respuesta negativa obtenida en el ltimo ejemplo se debe a que la expresin 3+5


de la parte izquierda: (Recurdese que se trata simplemente del trmino compuesto
+(3,5)) no es unificable con el entero 8, resultante de evaluar la parte derecha.
Adems del predicado anterior, Prolog incorpora otros predicados comunes para
comparaciones aritmticas, aunque en algunos casos con una notacin distinta a la
habitual: obsrvense en particular los smbolos para la igualdad/desigualdad (que no
pueden ser los habituales = y \= puesto que estos se utilizan para la unificacin) y la
comparacin menor o igual, que se escribe al revs de lo que suele ser normal en otros
lenguajes de programacin (<=).

El funcionamiento de estos predicados es similar al del predicado is: producirn un


error en caso de que alguno de los dos argumentos no sea una expresin aritmtica o, a
pesar de serlo, no se pueda evaluar. En caso contrario, el sistema evala las dos
expresiones aritmticas y devuelve el resultado de la comparacin solicitada.

Vuelta atrs (backtracking)


Los programas en Prolog, se componen de clusulas de Horn que constituyen reglas del
tipo "Modus Ponendo Ponens", es decir, Si es verdad el antecedente, entonces es verdad el
consecuente. No obstante, la forma de escribir las clusulas de Horn es al contrario de lo
habitual.
Primero se escribe el consecuente y luego el antecedente. El antecedente puede ser una
conjuncin de condiciones que se denomina secuencia de objetivos. Cada objetivo se
separa con una coma y puede considerarse similar a una instruccin o llamada a
procedimiento de los lenguajes imperativos. En el Prolog no existen instrucciones de
control, su ejecucin se basa en dos conceptos: la unificacin y el backtracking.
Gracias a la unificacin, cada objetivo determina un subconjunto de clusulas
susceptibles de ser ejecutadas. Cada una de ellas se denomina punto de eleccin. Prolog
selecciona el primer punto de eleccin y sigue ejecutando el programa hasta determinar si
el objetivo es verdadero o falso.
En caso de ser falso entra en juego el backtracking, que consiste en deshacer todo lo
ejecutado situando el programa en el mismo estado en el que estaba justo antes de llegar al
punto de eleccin. Entonces se toma el siguiente punto de eleccin que estaba pendiente y

se repite de nuevo el proceso. Todos los objetivos terminan su ejecucin bien en xito
("verdadero"), bien en fracaso ("falso").
Bases de datos deductivas
En un sistema de base de datos, pero con la diferencia de que permite hacer deducciones
a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en
la base de datos.
Las bases de datos deductivas son tambin llamadas bases de datos lgicas, a raz de
que se basa en lgica matemtica. Este tipo de base de datos surge debido a las limitaciones
de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones
indirectas de los datos almacenados en la base de datos.

Ventajas.
Uso de reglas lgicas para expresar las consultas.
Permite responder consultas recursivas.
Cuenta con negaciones estratificadas.
Capacidad de obtener nueva informacin a travs de la ya almacenada en la base de datos
mediante inferencia.
Uso de algoritmos de optimizacin de consultas.
Soporta objetos y conjuntos complejos.
Lenguaje
Las bases de datos deductivas utilizan un subconjunto del lenguaje Prolog, llamado
Datalog; el cual es declarativo y permite al ordenador hacer deducciones para contestar a
consultas basndose en los hechos y reglas almacenados.

Fases
Fase de Interrogacin: Se encarga de buscar en la base de datos informaciones deducibles
implcitas. Las reglas de esta fase se denominan reglas de derivacin.
Fase de Modificacin: Se encarga de aadir a la base de datos nuevas informaciones
deducibles. Las reglas de esta fase se denominan reglas de generacin.
Interpretacin
Se encuentran dos teoras de interpretacin de las bases de datos deductiva; se
consideran las reglas y los hechos como axiomas. Los hechos son axiomas base que se
consideran como verdaderos y no contienen variables. Las reglas, son axiomas deductivos
ya que se utilizan para deducir nuevos hechos.
Teora de Modelos: Consiste en asignar a un predicado todas las combinaciones de valores
y argumentos de un dominio de valores constantes dado. A continuacin se debe verificar si
ese predicado es verdadero o falso.
Mecanismos

Ascendente: Donde se parte de los hechos y se obtiene los nuevos, aplicando reglas de
inferencia.
Descendente: Donde se parte del predicado (objetivo de la consulta realizada) e intenta
encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en
la base de datos
Lgica modal
Una lgica modal es un sistema formal que intenta capturar el comportamiento
deductivo de algn grupo de operadores modales. Los operadores modales son expresiones
que califican la verdad de los juicios. La lgica modal intenta acercarse ms al pensamiento
humano y del lenguaje natural, y lo hace complementando la lgica de predicados (una
cualquiera) con modalidades que indican las condiciones en las que es cierta o falsa cada
proposicin.
La lgica modal slo agrega dos smbolos al vocabulario de la lgica proposicional: el
smbolo , que representa la expresin del lenguaje natural "es necesario que", y el smbolo
, que representa la expresin "es posible que". Ambos smbolos se prefijan a
proposiciones, de modo que
se lee "es necesario que p", y
se lee "es posible que p"
Adems, en la lgica modal clsica, ambos smbolos son interdefinibles por medio del
otro y de la negacin; as:
Esto implica que en principio, slo es necesario tomar uno de los dos smbolos como
primitivo, ya que el otro puede ser definido a partir de ste y del vocabulario de la lgica
proposicional. En general, el smbolo que se toma como primitivo es el de necesidad. Estas
interdefiniciones son paralelas a las de los cuantificadores en la lgica de primer orden:

Las razones de este paralelismo resultarn ms claras en la seccin de semntica de


mundos posibles.
Gramtica Modal
La gramtica indica qu secuencias de signos del vocabulario estn bien construidas. A
estas secuencias se las llama frmulas bien formadas. La gramtica de la lgica modal es
igual a la de la lgica proposicional, excepto que aade una regla para los operadores
modales, la cual ya fue indicada informalmente en la seccin anterior:
Si es una frmula bien formada, entonces
tambin lo es.
Algunos ejemplos de frmulas bien formadas del lenguaje sern, por lo tanto:

La regla de inferencia ms propia de la lgica modal se llama N (o regla


de Necesitacin), y dice que si una frmula es un teorema, entonces "es necesario que "
tambin es un teorema. En otros trminos:

A esta regla hay que sumarle, por supuesto, el modus ponens heredado de la lgica
proposicional.
Axiomas
Cules deben ser los axiomas de la lgica modal es algo muy debatido. Diferentes
conjuntos de axiomas permiten demostrar diferentes teoremas, y por lo tanto los axiomas
que se eligen muchas veces dependen de los teoremas que se quieren demostrar, y de la
posicin filosfica que se defiende.
La siguiente es una lista de algunos de los axiomas ms conocidos:
Nombre
Axioma
Lectura informal
K

Si es necesario que implica


entonces
si es
necesario,
tambin lo es.

T (o M)

Si es necesario que
es el caso.

Si es necesario que , entonces es


necesario que sea necesario.

Si es posible que , entonces es


necesario que sea posible.

Si es el caso, entonces es
necesario que sea posible.

, entonces

Consecuencia lgica y deduccin


Dentro de los lenguajes lgicos podemos distinguir dos tipos de relaciones de
consecuencia entre premisas y conclusin: la consecuencia lgica y la deducibilidad. La
relacin de consecuencia lgica es una relacin semntica en el sentido de que es una
relacin entre las premisas bajo una interpretacin y la conclusin bajo la misma
interpretacin. La relacin de deducibilidad es una relacin sintctica porque queda
caracterizada por un conjunto de reglas (un sistema deductivo) que atienden solamente a la
forma de las premisas y conclusin.

Consecuencia lgica
La consecuencia lgica est ligada a la nocin de verdad; que un argumento es vlido
quiere decir que preserva necesariamente la verdad. En lgica modal la verdad es relativa
a mundos posibles (una frmula es verdadera en una interpretacin en un mundo posible)
de modo que la consecuencia lgica tambin ser relativa a mundos posibles: un argumento
ser vlido justo cuando, si sus premisas son todas verdaderas en un mundo posible, su
conclusin es verdadera en ese mundo posible. Por otro lado, suele entenderse la necesaria
preservacin de verdad como preservacin de verdad en toda interpretacin. Por tanto, un
argumento es vlido en nuestro lenguaje modal cuando preserva la verdad en todos los
mundos posibles en toda interpretacin:
si y slo si para toda interpretacin <W, R, V> y todo mundo posible w en W, si
para todo

en

, entonces

Deduccin
Un sistema deductivo es un conjunto de reglas que nos permite establecer afirmaciones
de consecuencia entre un conjunto de oraciones y una oracin atendiendo solamente a su
forma. Cuando es una consecuencia deductiva de en un sistema deductivo S se suele
escribir "
en S". El tipo de sistemas deductivos tradicionales en lgica modal son
los sistemas axiomticos. Un sistema axiomtico es un conjunto de enunciados del lenguaje
(o formas de enunciados si contienen metavariables) y un conjunto de reglas de inferencia.
Una consecuencia deductiva de un sistema axiomtico es, o bien un axioma, o bien un
enunciado que puede obtenerse a partir de los axiomas y las reglas de inferencia. El sistema
axiomtico bsico para la lgica modal es el sistema K, descrito ms arriba. La relacin de
deducibilidad en K (es decir, todo aquello que es deducible en K), queda por lo tanto
definida por sus axiomas y sus reglas de inferencia.
Como comentamos al inicio de esta seccin, la deducibilidad en los distintos sistemas
modales caracteriza diversas relaciones de consecuencia lgica. El sistema modal K es
considerado bsico porque la deduccin en K caracteriza (es consistente y completo
respecto a) la consecuencia lgica en todas las interpretaciones (normales). Por tanto:
en K si y slo si
para toda interpretacin <W, R, V>.
Mundos no-normales
Algunos de los sistemas que Lewis propuso para su implicacin estricta son ms dbiles
que el sistema modal K. Para obtener una semntica para sistemas modales ms dbiles que
K se introdujo la nocin de mundo no-normal (introducido por Saul Kripke en 1965). Un
mundo no-normal es un mundo en el que las condiciones de verdad de los operadores
modales son distintas: un enunciado del tipo
es siempre verdadero en un mundo nonormal, mientras que un enunciado de la forma
es siempre falso. En los mundos nonormales todo es posible y nada es necesario.
Una interpretacin no-normal para un lenguaje proposicional modal es una estructura
<W, N, R, V> donde W, R y V son como antes y N es un subconjunto de W. Nes el conjunto
de mundos normales en la interpretacin; el resto (si los hay) son los mundos no-normales.
Las condiciones de verdad de los operadores lgicos son igual que antes; slo varan las
condiciones de los operadores modales en mundos no-normales. Si w es no-normal:


A partir de interpretaciones no-normales podemos obtener semnticas para sistemas
modales ms dbiles que K. Podemos definir, por ejemplo, la relacin de consecuencia
lgica como preservacin de verdad sobre mundos normales:
Definicin:
si y slo para toda interpretacin <W, N, R, V> y todo mundo
posible w en N, si

para todo

en

, entonces

Lgica temporal
La lgica temporal es una extensin de la lgica modal, la cual es prcticamente usada
en sistemas de reglas, donde est presente el tiempo. Se utiliza para describir cualquier
sistema de reglas y el simbolismo para representar y razonar sobre, las proposiciones
calificadas en trminos de tiempo. En una lgica temporal entonces podemos expresar
frases como "Siempre estoy hambriento", "con el tiempo voy a tener hambre", o "voy a
tener hambre hasta que lo coma algo".
Motivacin
Considere la siguiente afirmacin: "Tengo hambre". Aunque su significado es constante
en el tiempo, el valor de verdad de la declaracin puede variar en el tiempo. A veces, la
afirmacin es verdadera, ya veces la afirmacin es falsa, pero la declaracin no es
verdadera y falsa al mismo tiempo. En una lgica temporal, los estados pueden tener un
valor de verdad que puede variar en el tiempo. Esto contrasta con una lgica atemporal, que
slo puede hablar de las declaraciones cuyo valor verdad es constante en el tiempo. Este
tratamiento de los valores de verdad con el tiempo se diferencia lgica temporal de la
lgica computacional verbo.
Lgica temporal siempre tiene la capacidad de razonar sobre una lnea de tiempo. Las
denominadas lgicas tiempo lineales se limitan a este tipo de razonamiento. Lgica de
ramificacin, sin embargo, pueden razonar sobre mltiples lneas de tiempo. Esto
presupone un entorno que puede actuar impredecible. Para continuar con el ejemplo, en una
lgica de bifurcacin podemos afirmar que "existe la posibilidad de que voy a pasar hambre
para siempre." Tambin podemos afirmar que "existe la posibilidad de que con el tiempo ya
no estoy con hambre." Si no sabemos si alguna vez te cansas, estas declaraciones son
verdaderas algunas veces.

Operadores temporales
Lgica temporal tiene dos tipos de operadores: los operadores lgicos y los operadores
modales. Los operadores lgicos son operadores veritativo-funcionales habituales. Los
operadores modales utilizados en lgica temporal lineal y lgica rbol de cmputo se
definen como sigue.
Smbolos alternativos:
R operador a veces se designa por V
El operador W es el operador dbil hasta, es equivalente a
Los operadores unarios son frmulas bien formadas siempre que est bien formada B.
Los operadores binarios son frmulas bien formadas cada vez que estn bien formadas B y
C.

En algunas lgicas, algunos operadores no se pueden expresar. Por ejemplo, el operador


de N no se puede expresar en lgica temporal de acciones.

Lgicas temporales
Lgicas temporales incluyen
Lgica temporal de intervalo
clculo. que incluye como un subconjunto
Lgica de Hennessy-Milner
CTL *, que incluye como un subconjunto
La lgica del rbol Computacional
Lgica temporal lineal
Mtricas Intervalo Lgica Temporal
Seal lgica temporal
Una variacin, estrechamente relacionado con las lgicas temporales o cronolgicas o
tensas, son lgicas modales basadas en la "topologa", "plaza", o "posicin espacial".
Tambin se podra tener en cuenta que en el idioma ruso, los verbos tienen un aspecto,
basada comnmente en el tiempo, pero la posicin tambin.

Bibliografa
https://es.wikipedia.org/wiki/Prolog
https://es.wikipedia.org/wiki/Base_de_datos
https://es.wikipedia.org/wiki/L%C3%B3gica_modal#Historia
https://es.wikipedia.org/wiki/L%C3%B3gica_temporal

Vous aimerez peut-être aussi