Lógica temporal

Lógica temporal ( lógica temporal ; lógica temporal en inglés  ) - lógica , en cuyas declaraciones se tiene en cuenta el aspecto temporal. Se utiliza para describir secuencias de eventos y su relación a lo largo de una escala de tiempo.

En la antigüedad, el uso de la lógica en el aspecto temporal fue estudiado por los filósofos de la escuela de Megara , en particular Diodoro Cronos , y los estoicos . La lógica temporal simbólica moderna, conceptualizada y formulada por primera vez en la década de 1950 por Arthur Pryor [1] sobre la base de la lógica modal , fue más ampliamente utilizada y desarrollada en informática gracias al trabajo del ganador del Premio Turing Amir Pnueli .

Ejemplo

El significado de la declaración: "Tengo hambre" no cambia con el tiempo, pero su verdad puede cambiar: en un momento particular en el tiempo puede ser verdadero o falso, pero no ambos. A diferencia de las lógicas no temporales, donde el valor de las afirmaciones no cambia con el tiempo, en la lógica temporal, el valor depende de cuándo se prueba. La lógica temporal te permite expresar afirmaciones como "Siempre tengo hambre ", "A veces tengo hambre" o "Tengo hambre hasta que como".

Operadores temporales

Hay dos tipos de operadores en lógica temporal : lógicos y modales. Los operadores modales utilizados en la lógica de tiempo lineal y la lógica de árbol de cálculo se definen a continuación.

Designación de texto Designación de símbolo Definición Descripción Diagrama
Operadores binarios
tu Hasta (fuerte): debe ejecutarse en algún estado en el futuro (posiblemente el actual), la propiedad debe ejecutarse en todos los estados hasta (sin incluir) el designado.
R

V

R release: Libera si es verdadero hasta la primera vez que lo es (o siempre si no lo es). De lo contrario, debe volverse verdadero al menos una vez antes de que lo sea la primera vez.
Operadores unarios
norte

X

N e X t: debe ser verdadero en el estado inmediatamente posterior al dado.
F Futuro : debe hacerse realidad en al menos un estado en el futuro.
GRAMO Globalmente : debe ser cierto en todos los estados futuros.
A A ll: Debe ejecutarse en todas las ramas a partir de esta.
mi E xiste: Hay al menos una rama que se está ejecutando.

Otros operadores modales

Identidades duales

Al igual que las reglas de Morgan, existen propiedades de dualidad para los operadores temporales:

Aplicaciones

Las lógicas temporales se utilizan a menudo para expresar requisitos formales de verificación . Por ejemplo, propiedades como "si se recibe una solicitud, definitivamente recibirá una respuesta" o "la función no se llama más de una vez por cálculo" es conveniente formularlas utilizando lógicas temporales. Se utilizan varios autómatas para probar tales propiedades, por ejemplo, los autómatas de Büchi para probar propiedades expresadas en lógica de tiempo lineal LTL .

Opciones

La principal variante universal de la lógica temporal es el μ-cálculo modal ( Scott  - de Bakker , 1969); incluye la lógica de Henessy-Milner y CTL* como un subconjunto , y las principales variantes utilizadas en informática, la lógica de tiempo lineal ( LTL ) y la lógica de árbol de cálculo ( CTL ), son fragmentos de CTL * .  

Además, existen otras variantes de la lógica temporal que no son reducibles al cálculo μ modal, por ejemplo, la lógica temporal de intervalos y la lógica temporal métrica

Algunas opciones prácticas utilizan combinaciones de lógica temporal con otras lógicas, en particular, como es la lógica de acción temporal (creada para el lenguaje de especificación TLA⁺ ), que conecta la lógica temporal y la lógica de acción .

Notas

  1. Ricardo Caferra. Lógica para Ciencias de la Computación e Inteligencia Artificial. - John Wiley & Sons, 2013. - 537 p. — ISBN 978-1-118-60426-7 .

Literatura