Lógica temporal lineal
En lógica, la lógica temporal lineal o lógica temporal de tiempo lineal (LTL) es una lógica temporal modal con modalidades que se refieren al tiempo. En LTL, se pueden codificar fórmulas sobre el futuro de las rutas, por ejemplo, una condición eventualmente será verdadera, una condición será verdadera hasta que otro hecho se vuelva verdadero, etc. Es un fragmento del CTL* más complejo, que además permite ramificar tiempo y cuantificadores. LTL a veces se denomina lógica temporal proposicional, abreviada PTL. En términos de poder expresivo, la lógica temporal lineal (LTL) es un fragmento de la lógica de primer orden.
LTL fue propuesto por primera vez para la verificación formal de programas informáticos por Amir Pnueli en 1977.
Sintaxis
LTL se construye a partir de un conjunto finito de variables proposicionales AP, los operadores lógicos ¬ y ∨, y los operadores modales temporales X (algunas publicaciones usan O o N) y U. Formalmente, el conjunto de fórmulas LTL sobre AP se define inductivamente de la siguiente manera:
- si p ▪ AP entonces p es una fórmula LTL;
- si Descubrir y φ son las fórmulas LTL entonces ¬ё, φ ∨ X , y φ U ↓ son fórmulas LTL.
X se lee como siguientext y U se lee como until. Además de estos operadores fundamentales, existen operadores lógicos y temporales adicionales definidos en términos de operadores fundamentales, para poder escribir fórmulas LTL de manera sucinta. Los operadores lógicos adicionales son ∧, →, ↔, verdadero y falso. A continuación se muestran los operadores temporales adicionales.
- G para siempre (globally)
- F para finally
- R para rElease
- W para wroble hasta
- M para mighty release
Semántica
Una fórmula LTL puede ser satisfecha mediante una secuencia infinita de valoraciones de verdad de variables en AP. Estas secuencias pueden verse como una palabra en una ruta de una estructura Kripke (una palabra ω sobre el alfabeto 2AP). Sea w = a0,a1,a2,... una palabra ω. Sea w(i) = ai. Sea wi = ai,ai +1,..., que es un sufijo de w. Formalmente, la relación de satisfacción ⊨ entre una palabra y una fórmula LTL se define de la siguiente manera:
- w ⊨ p si p ▪ w(0)
- w ⊨↑ si w ⊭ ↑
- w ⊨ φ Alternativa ↑ si w ⊨ φ o w ⊨ ↑
- w ⊨ X ↑ si w1 ⊨ ↑ (en el next tiempo paso ↑ debe ser verdad)
- w ⊨ φ U ↑ si existe i ≥ 0 tal que wi ⊨ ↑ y para todos k i wk ⊨ φ ()φ debe seguir siendo verdad until ↑ se hace realidad)
Decimos que una palabra ω w satisface una fórmula LTL ψ cuando w ⊨ < var estilo="padding-right: 1px;">ψ. El lenguaje ω L(ψ) definido por ψ var> es {w | w ⊨ ψ}, que es el conjunto de ω-palabras que satisfacen ψ. Una fórmula ψ es satisfacible si existe una palabra ω w tal que w ⊨ ψ. Una fórmula ψ es válida si para cada palabra ω w sobre el alfabeto 2< i>AP, tenemos w ⊨ ψ.
Los operadores lógicos adicionales se definen de la siguiente manera:
- φ ∧ ↑ ↑φ Alternativa ¬↑)
- φ → ↑ ≡φ Alternativa ↑
- φ Administración ↑ ↑φ → ↑∧↑ → φ)
- verdadero ↑ p Alternativa ¬p, donde p ▪ AP
- falso ≡verdadero
Los operadores temporales adicionales R, F y G se definen de la siguiente manera:
- ↑ R φ ↑↑ U ¬φ)φ sigue siendo cierto hasta que e incluso una vez ↑ se convierte en verdad. Si ↑ nunca se hace realidad, φ debe permanecer fiel para siempre. ↑ relases φ)
- F ↑ ↑ verdadero U ↑ (eventually ↑ se hace realidad)
- G ↑ ↑ falso R ↑ ≡F ¬↑ ()↑ siempre sigue siendo verdad)
Débil hasta y liberación fuerte
Algunos autores también definen un operador binario débil hasta, denominado W, con una semántica similar a la del operador hasta, pero no es necesario que se produzca la condición de parada (similar liberar). A veces es útil ya que tanto U como R se pueden definir en términos de los débiles hasta que:
- ↑ W φ ↑↑ U φ) G ↑ ↑ ↑ U ()φ Alternativa G ↑) φ R ()φ Alternativa ↑)
- ↑ U φ ↑ Fφ ∧↑ W φ)
- ↑ R φ ↑ φ W ()φ ∧ ↑)
El operador binario liberación fuerte, denominado M, es el dual de débil hasta. Se define de manera similar al operador hasta, de modo que la condición de liberación debe cumplirse en algún momento. Por tanto, es más fuerte que el operador de liberación.
- ↑ M φ ↑↑ W ¬φ)↑ R φ∧ F ↑ ↑ ↑ R ()φ ∧ F ↑) φ U ()↑ ∧ φ)
La semántica de los operadores temporales se presenta gráficamente de la siguiente manera.
Equivalencias
Sean φ, ψ y ρ fórmulas LTL. Las siguientes tablas enumeran algunas de las equivalencias útiles que amplían las equivalencias estándar entre los operadores lógicos habituales.
Distribución | ||
---|---|---|
X (δ)X φ) ∨X ↓ | X (φ ∧ ↓)X φ) ∧ (X ↓ | X (φ) U ↓ ()X φ) U ()X ↓ |
F (δ)F φ) ∨F ↓ | G (φ ∧ ↓)G φ) ∧ (G ↓ | |
*** U (δ) U φ) ∨ (ρ) U ↓ | (φ ∧ ↓) U δ (φρ U ρ) ∧ U ρ) |
Negation propagation | |||
---|---|---|---|
X es auto-dual | F y G son duales | U y R son duales | W y M son duales |
¬X φ X ¬ | ¬F φ G ¬ | ¬ U Descubrimiento R ¬introduciendo) | ¬ W Descubrimiento M ¬introduciendo) |
¬G φ F ¬ | ¬ R Descubrimiento U ¬introduciendo) | ¬ M Descubrimiento W ¬introduciendo) |
Propiedades temporales especiales | ||
---|---|---|
F φ F F φ | G φ G G φ | φ U φ U (φ) U ↓ |
φ U ↑ ∧ ↑ ∧ X(φ) U ↓) | φ W ↑ ∧ ↑ ∧ X(φ) W ↓) | φ R Descubrir Descubrir ∧ X(φ) R ↓) |
G φ ngel φ ∧ X()G φ) | F φ ≡ φ φ X()F φ) |
Forma normal de negación
Todas las fórmulas de LTL se pueden transformar en forma normal de negación, donde
- todas las negaciones aparecen sólo frente a las proposiciones atómicas,
- sólo otros operadores lógicos verdadero, falso, ∧, y Apocalipsis puede aparecer, y
- sólo los operadores temporales X, U, y R puede aparecer.
Usando las equivalencias anteriores para la propagación de la negación, es posible derivar la forma normal. Esta forma normal permite que R, verdadero, falso y ∧ aparezcan en la fórmula, que no son operadores fundamentales de LTL. Tenga en cuenta que la transformación a la forma normal de negación no aumenta la longitud de la fórmula. Esta forma normal es útil para traducir una fórmula LTL a un autómata Büchi.
Relaciones con otras lógicas
Se puede demostrar que LTL es equivalente a la lógica monádica de primer orden, FO[<], un resultado conocido como teorema de Kamp, o equivalentemente a lenguajes sin estrellas.
La lógica de árbol de cálculo (CTL) y la lógica temporal lineal (LTL) son un subconjunto de CTL*, pero son incomparables. Por ejemplo,
- Ninguna fórmula en CTL puede definir el idioma que se define por la fórmula LTL F()G p).
- Ninguna fórmula en LTL puede definir el idioma que se define por las fórmulas CTL AG(p →)EXq ∧ EX¬q) AG()EFp)).
Problemas computacionales
La verificación del modelo y la satisfacibilidad frente a una fórmula LTL son problemas completos de PSPACE. La síntesis LTL y el problema de verificación de juegos contra una condición ganadora LTL es 2EXPTIME-completo.
Aplicaciones
- Automata-theoretic modelo lógico lineal
- Una forma importante de comprobar el modelo es expresar las propiedades deseadas (como las descritas anteriormente) usando operadores de LTL y comprobar si el modelo satisface esta propiedad. Una técnica es obtener un autómata Büchi que sea equivalente al modelo (acepta una palabra ω precisamente si es el modelo) y otra que equivale a la negación de la propiedad (acepta una palabra ω precisamente satisface la propiedad negada) (cf. Lógica temporal lineal al autómata Büchi). La intersección de los dos automata Büchi no-determinista está vacía si y sólo si el modelo satisface la propiedad.
- Expresando importantes propiedades en la verificación formal
- Hay dos tipos principales de propiedades que se pueden expresar usando la lógica temporal lineal: seguridad propiedades generalmente indican que algo malo nunca pasa ()G¬φ), mientras vida propiedades declaran que algo bueno sigue pasando ()GF↑ o G()φ →F↑)). Más generalmente, las propiedades de seguridad son aquellas para las cuales cada contraejemplo tiene un prefijo finito de tal manera que, sin embargo, se extiende a un camino infinito, sigue siendo un contraejemplo. Para las propiedades de la vida, por otro lado, cada camino finito puede extenderse a un camino infinito que satisface la fórmula.
- Idioma específico
- Una de las aplicaciones de la lógica temporal lineal es la especificación de preferencias en el lenguaje de definición de dominio de planificación para el propósito de la planificación basada en preferencias.
Extensiones
La lógica temporal lineal paramétrica extiende LTL con variables en la modalidad hasta.
Contenido relacionado
Filosofía de la lógica
Historia de la lógica
Si y solo si