En lógica , la lógica temporal es cualquier sistema de reglas y simbolismo para representar y razonar proposiciones calificadas en términos de tiempo (por ejemplo, " siempre tengo hambre", " algún día tendré hambre" o "tendré hambre hasta que coma algo"). A veces también se usa para referirse a la lógica temporal , un sistema de lógica temporal basado en la lógica modal introducido por Arthur Prior a fines de la década de 1950, con importantes contribuciones de Hans Kamp . Ha sido desarrollado posteriormente por científicos informáticos , en particular Amir Pnueli , y lógicos .
La lógica temporal ha encontrado una aplicación importante en la verificación formal , donde se utiliza para indicar los requisitos de los sistemas de hardware o software. Por ejemplo, se puede decir que siempre que se realiza una solicitud, se concede el acceso a un recurso , pero nunca se concede a dos solicitantes simultáneamente. Tal afirmación se puede expresar convenientemente en una lógica temporal.
Consideremos la afirmación "tengo hambre". Aunque su significado es constante en el tiempo, el valor de verdad de la afirmación puede variar con el tiempo. A veces es verdadera y a veces falsa, pero nunca simultáneamente verdadera y falsa. En una lógica temporal, una afirmación puede tener un valor de verdad que varía con el tiempo, en contraste con una lógica atemporal, que se aplica solo a afirmaciones cuyos valores de verdad son constantes en el tiempo. Este tratamiento del valor de verdad a lo largo del tiempo diferencia la lógica temporal de la lógica verbal computacional.
La lógica temporal siempre tiene la capacidad de razonar sobre una línea de tiempo. Las llamadas lógicas de "tiempo lineal" se limitan a este tipo de razonamiento. Las lógicas de tiempo ramificado, sin embargo, pueden razonar sobre múltiples líneas de tiempo. Esto permite, en particular, el tratamiento de entornos que pueden actuar de manera impredecible. Para continuar con el ejemplo, en una lógica de tiempo ramificado podemos afirmar que "existe la posibilidad de que siga teniendo hambre para siempre" y que "existe la posibilidad de que, con el tiempo, ya no tenga hambre". Si no sabemos si alguna vez seré alimentado o no, ambas afirmaciones pueden ser verdaderas.
Aunque la lógica de Aristóteles se centra casi exclusivamente en la teoría del silogismo categórico , hay pasajes en su obra que ahora se consideran anticipaciones de la lógica temporal y pueden implicar una forma temprana, parcialmente desarrollada, de lógica bivalente modal temporal de primer orden . Aristóteles estaba particularmente preocupado por el problema de los contingentes futuros , donde no podía aceptar que el principio de bivalencia se aplique a afirmaciones sobre eventos futuros, es decir, que podamos decidir en el presente si una afirmación sobre un evento futuro es verdadera o falsa, como "mañana habrá una batalla naval". [1]
Hubo poco desarrollo durante milenios, señaló Charles Sanders Peirce en el siglo XIX: [2]
Los lógicos han considerado habitualmente que el tiempo es lo que se denomina materia «extralógica». Yo nunca he compartido esta opinión, pero he pensado que la lógica no había alcanzado todavía el estado de desarrollo en el que la introducción de modificaciones temporales de sus formas no provocaría una gran confusión; y todavía soy muy partidario de esa manera de pensar.
Sorprendentemente para Peirce , el primer sistema de lógica temporal fue construido, hasta donde sabemos, en la primera mitad del siglo XX. Aunque Arthur Prior es ampliamente conocido como el fundador de la lógica temporal, la primera formalización de dicha lógica fue proporcionada en 1947 por el lógico polaco Jerzy Łoś . [3] En su obra Podstawy Analizy Metodologicznej Kanonów Milla ( Los fundamentos de un análisis metodológico de los métodos de Mill ) presentó una formalización de los cánones de Mill . En el enfoque de Łoś , se hizo hincapié en el factor tiempo. Por lo tanto, para alcanzar su objetivo, tuvo que crear una lógica que pudiera proporcionar medios para la formalización de las funciones temporales. La lógica podría verse como un subproducto del objetivo principal de Łoś , [4] aunque fue la primera lógica posicional que, como marco, se utilizó más tarde para las invenciones de Łoś en lógica epistémica . La lógica en sí tiene una sintaxis muy diferente a la lógica temporal de Prior, que utiliza operadores modales. El lenguaje de la lógica de Łoś utiliza más bien un operador de realización, propio de la lógica posicional, que vincula la expresión con el contexto específico en el que se considera su valor de verdad. En la obra de Łoś , este contexto considerado era solo temporal, por lo que las expresiones estaban vinculadas a momentos o intervalos de tiempo específicos.
En los años siguientes, Arthur Prior comenzó a investigar la lógica temporal . [4] Se interesó por las implicaciones filosóficas del libre albedrío y la predestinación . Según su esposa, consideró por primera vez formalizar la lógica temporal en 1953. Los resultados de su investigación se presentaron por primera vez en la conferencia en Wellington en 1954. [4] El sistema que presentó Prior era similar sintácticamente a la lógica de Łoś , aunque no fue hasta 1955 que se refirió explícitamente al trabajo de Łoś , en la última sección del Apéndice 1 de la Lógica formal de Prior . [4]
Prior dio conferencias sobre el tema en la Universidad de Oxford en 1955-6, y en 1957 publicó un libro, Tiempo y modalidad , en el que introdujo una lógica modal proposicional con dos conectivos temporales ( operadores modales ), F y P, correspondientes a "en algún momento en el futuro" y "en algún momento en el pasado". En este trabajo temprano, Prior consideró que el tiempo es lineal. Sin embargo, en 1958, recibió una carta de Saul Kripke , quien señaló que esta suposición quizás no esté justificada. En un desarrollo que prefiguró uno similar en la ciencia de la computación, Prior tomó esto en consideración y desarrolló dos teorías del tiempo ramificado, que llamó "Ockhamista" y "Peirceana". [2] [ aclaración necesaria ] Entre 1958 y 1965 Prior también se carteó con Charles Leonard Hamblin , y una serie de desarrollos tempranos en el campo se pueden rastrear a esta correspondencia, por ejemplo, las implicaciones de Hamblin. Prior publicó su obra más madura sobre el tema, el libro Pasado, presente y futuro, en 1967. Murió dos años después. [5]
Junto con la lógica temporal, Prior construyó algunos sistemas de lógica posicional, que heredaron sus ideas principales de Łoś . [6] El trabajo en lógicas temporales posicionales fue continuado por Nicholas Rescher en los años 60 y 70. En obras como Nota sobre lógica cronológica (1966), Sobre la lógica de proposiciones cronológicas (1968) , Lógica topológica (1968) y Lógica temporal (1971) investigó las conexiones entre los sistemas de Łoś y Prior . Además, demostró que los operadores temporales de Prior podían definirse utilizando un operador de realización en lógicas posicionales específicas. [6] Rescher , en su trabajo, también creó sistemas más generales de lógicas posicionales. Aunque los primeros se construyeron para usos puramente temporales, propuso el término lógicas topológicas para lógicas que estaban destinadas a contener un operador de realización pero no tenían axiomas temporales específicos, como el axioma del reloj.
Los operadores temporales binarios Since y Until fueron introducidos por Hans Kamp en su tesis doctoral de 1968, [7] que también contiene un resultado importante que relaciona la lógica temporal con la lógica de primer orden , un resultado ahora conocido como el teorema de Kamp. [8] [2] [9]
Dos de los primeros contendientes en las verificaciones formales fueron la lógica temporal lineal , una lógica de tiempo lineal de Amir Pnueli , y la lógica de árbol de cálculo (CTL), una lógica de tiempo de ramificación de Mordechai Ben-Ari , Zohar Manna y Amir Pnueli. Un formalismo casi equivalente a CTL fue sugerido por la misma época por EM Clarke y EA Emerson . El hecho de que la segunda lógica pueda ser decidida de manera más eficiente que la primera no se refleja en las lógicas de tiempo de ramificación y lineal en general, como a veces se ha argumentado. Más bien, Emerson y Lei muestran que cualquier lógica de tiempo lineal puede extenderse a una lógica de tiempo de ramificación que puede ser decidida con la misma complejidad.
La lógica de Łoś fue publicada como su tesis de maestría de 1947 Podstawy Analizy Metodologicznej Kanonów Milla ( Los fundamentos de un análisis metodológico de los métodos de Mill ). [10] Sus conceptos filosóficos y formales podrían verse como continuaciones de los de la Escuela de Lógica de Lviv-Varsovia , ya que su supervisor fue Jerzy Słupecki , discípulo de Jan Łukasiewicz . El artículo no fue traducido al inglés hasta 1977, aunque Henryk Hiż presentó en 1951 una revisión breve, pero informativa, en el Journal of Symbolic Logic . Esta revisión contenía conceptos centrales del trabajo de Łoś y fue suficiente para popularizar sus resultados entre la comunidad lógica. El objetivo principal de este trabajo fue presentar los cánones de Mill en el marco de la lógica formal. Para lograr este objetivo, el autor investigó la importancia de las funciones temporales en la estructura del concepto de Mill. Con esto en mente, proporcionó su sistema axiomático de lógica que serviría como marco para los cánones de Mill junto con sus aspectos temporales.
El lenguaje de la lógica publicada por primera vez en Podstawy Analizy Metodologicznej Kanonów Milla ( Los fundamentos de un análisis metodológico de los métodos de Mill ) consistía en: [3]
El conjunto de términos (denotado por S) se construye de la siguiente manera:
El conjunto de fórmulas (denotado por For) se construye de la siguiente manera: [10]
La lógica del tiempo oracional introducida en Tiempo y Modalidad tiene cuatro operadores modales (no funcionales a la verdad ) (además de todos los operadores funcionales a la verdad habituales en la lógica proposicional de primer orden ). [11]
Estos se pueden combinar si dejamos que π sea un camino infinito: [12]
A partir de P y F se pueden definir G y H , y viceversa:
Una sintaxis mínima para TL se especifica con la siguiente gramática BNF :
donde a es alguna fórmula atómica . [13]
Los modelos de Kripke se utilizan para evaluar la verdad de las oraciones en TL. Un par ( T , <) de un conjunto T y una relación binaria < en T (llamada "precedencia") se llama marco . Un modelo está dado por el triple ( T , <, V ) de un marco y una función V llamada valoración que asigna a cada par ( a , u ) de una fórmula atómica y un valor temporal algún valor de verdad. La noción " ϕ es verdadero en un modelo U = ( T , <, V ) en el tiempo u " se abrevia U ⊨ ϕ [ u ]. Con esta notación, [14]
Declaración | ... es cierto justo cuando |
---|---|
U ⊨ a [ u ] | V ( a , u )=verdadero |
U ⊨¬ ϕ [ u ] | no U ⊨ ϕ [ u ] |
U ⊨( ϕ ∧ ψ )[ u ] | U ⊨ ϕ [ u ] y U ⊨ ψ [ u ] |
U ⊨( ϕ ∨ ψ )[ u ] | U ⊨ ϕ [ u ] o U ⊨ ψ [ u ] |
U ⊨( ϕ → ψ )[ u ] | U ⊨ ψ [ u ] si U ⊨ ϕ [ u ] |
U ⊨G ϕ [ u ] | U ⊨ ϕ [ v ] para todo v con u < v |
U ⊨ H ϕ [ u ] | U ⊨ ϕ [ v ] para todo v con v < u |
Dada una clase F de marcos, una oración ϕ de TL es
Muchas oraciones son válidas únicamente para una clase limitada de marcos. Es común restringir la clase de marcos a aquellos con una relación < que sea transitiva , antisimétrica , reflexiva , tricotómica , irreflexiva , total , densa o alguna combinación de estas.
Burgess describe una lógica que no hace suposiciones sobre la relación <, pero permite deducciones significativas, basadas en el siguiente esquema axiomático: [15]
con las siguientes reglas de deducción:
Se pueden derivar las siguientes reglas:
Burgess ofrece una traducción Meredith de enunciados en lógica de primer orden a enunciados en lógica de primer orden con una variable libre x 0 (que representa el momento presente). Esta traducción M se define recursivamente de la siguiente manera: [16]
donde es la oración A con todos los índices variables incrementados en 1 y es un predicado de un lugar definido por .
La lógica temporal tiene dos tipos de operadores: operadores lógicos y operadores modales. [17] Los operadores lógicos son operadores veritativo-funcionales habituales ( ). Los operadores modales utilizados en la lógica temporal lineal y la lógica de árboles computacionales se definen de la siguiente manera.
Textual | Simbólico | Definición | Explicación | Diagrama |
---|---|---|---|---|
Operadores binarios | ||||
φUψ | Hasta que: ψ se mantiene en la posición actual o en una posición futura, y φ debe mantenerse hasta esa posición. En esa posición, φ ya no tiene por qué mantenerse. | |||
φ R ψ | Liberación : φ libera ψ si ψ es verdadero hasta la primera posición inclusive en la que φ es verdadero (o para siempre si dicha posición no existe). | |||
Operadores unarios | ||||
norte | Siguiente : φ debe mantenerse en el siguiente estado. ( X se utiliza como sinónimo). | |||
F φ | Futuro : φ eventualmente tiene que mantenerse (en algún lugar del camino subsiguiente). | |||
G φ | A nivel global: φ debe mantenerse en todo el camino subsiguiente. | |||
Un φ | A l l: φ debe cumplirse en todas las rutas a partir del estado actual. | |||
mi φ | E xiste: existe al menos un camino que parte del estado actual donde se cumple φ . |
Símbolos alternativos:
Los operadores unarios son fórmulas bien formadas siempre que B( φ ) esté bien formada. Los operadores binarios son fórmulas bien formadas siempre que B( φ ) y C( φ ) estén bien formadas.
En algunas lógicas, algunos operadores no se pueden expresar. Por ejemplo, el operador N no se puede expresar en la lógica temporal de acciones .
Las lógicas temporales incluyen:
Una variación, estrechamente relacionada con las lógicas temporales, cronológicas o de tiempo, son las lógicas modales basadas en la “topología”, el “lugar” o la “posición espacial”. [23] [24]