Extensión de la lógica modal proposicional
En informática teórica , el cálculo modal μ ( Lμ , L μ , a veces simplemente cálculo μ , aunque esto puede tener un significado más general) es una extensión de la lógica modal proposicional (con muchas modalidades ) al agregar el operador de punto mínimo fijo. μ y el mayor operador de punto fijo ν, por lo tanto una lógica de punto fijo .
El cálculo μ (proposicional, modal) se origina con Dana Scott y Jaco de Bakker , [1] y fue desarrollado por Dexter Kozen [2] hasta convertirlo en la versión más utilizada hoy en día. Se utiliza para describir propiedades de sistemas de transición etiquetados y para verificar estas propiedades. Se pueden codificar muchas lógicas temporales en el cálculo μ, incluido CTL* y sus fragmentos ampliamente utilizados: lógica temporal lineal y lógica de árbol computacional . [3]
Una visión algebraica es verlo como un álgebra de funciones monótonas sobre una red completa , con operadores que consisten en una composición funcional más los operadores de punto fijo menor y mayor; Desde este punto de vista, el cálculo modal μ está sobre la red de un álgebra de conjuntos de potencias . [4] La semántica del juego del cálculo μ está relacionada con juegos de dos jugadores con información perfecta , particularmente juegos de paridad infinita . [5]
Sintaxis
Sean P (proposiciones) y A (acciones) dos conjuntos finitos de símbolos, y sea Var un conjunto infinito y numerable de variables. El conjunto de fórmulas del cálculo μ (proposicional, modal) se define de la siguiente manera:
- cada proposición y cada variable es una fórmula;
- si y son fórmulas, entonces es una fórmula;
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \psi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi \cuña \psi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- si es una fórmula, entonces es una fórmula;
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \neg \phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- si es una fórmula y es una acción, entonces es una fórmula; (pronunciado: cuadro o después necesariamente )
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle [a]\phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- si es una fórmula y una variable, entonces es una fórmula, siempre que cada aparición libre de in ocurra positivamente, es decir, dentro del alcance de un número par de negaciones.
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \nu Z.\phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
(Las nociones de variables libres y vinculadas son las habituales, donde está el único operador vinculante).![{\displaystyle\nu}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Dadas las definiciones anteriores, podemos enriquecer la sintaxis con:
significado![{\displaystyle \neg (\neg \phi \land \neg \psi )}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
(pronunciado: diamante o después de posiblemente ) significado![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \neg [a]\neg \phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
medios , donde medios sustituyendo por en todas las apariciones libres de en .![{\displaystyle \neg \nu Z.\neg \phi [Z:=\neg Z]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi [Z:=\neg Z]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \neg Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Las dos primeras fórmulas son las conocidas del cálculo proposicional clásico y, respectivamente , de la lógica multimodal mínima K.
La notación (y su dual) están inspiradas en el cálculo lambda ; la intención es denotar el punto fijo mínimo (y respectivamente mayor) de la expresión donde la "minimización" (y respectivamente la "maximización") están en la variable , muy parecido a como en el cálculo lambda es una función con fórmula en variable ligada ; [6] consulte la semántica denotacional a continuación para obtener más detalles.![{\displaystyle \mu Z.\phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \lambda Z.\phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Semántica denotacional
Los modelos de cálculo μ (proposicional) se dan como sistemas de transición etiquetados donde:![{\displaystyle (S,R,V)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
es un conjunto de estados;
asigna a cada etiqueta una relación binaria en ;![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle S}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
, asigna cada proposición al conjunto de estados donde la proposición es verdadera.![{\displaystyle p\en P}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Dado un sistema de transición etiquetado y una interpretación de las variables del cálculo, , es la función definida por las siguientes reglas:![{\displaystyle (S,R,V)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle i}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \mu}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle [\![\cdot ]\!]_{i}:\phi \to 2^{S}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
;
;
;
;
;
, hacia dónde se asigna y al mismo tiempo se conservan las asignaciones de todos los demás lugares.![{\displaystyle i[Z:=T]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle i}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Por dualidad, la interpretación de las demás fórmulas básicas es:
;
;![{\displaystyle [\![\mu Z.\phi ]\!]_{i}=\bigcap \{T\subseteq S\mid [\![\phi ]\!]_{i[Z:=T ]}\subseteq T\}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
De manera menos formal, esto significa que, para un sistema de transición determinado :![{\displaystyle (S,R,V)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se cumple en el conjunto de estados ;![{\displaystyle V(p)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se mantiene en todos los estados donde y ambos se mantienen;![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \psi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se mantiene en todos los estados donde no se cumple.![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se mantiene en un estado si cada transición que conduce a un estado en el que se mantiene.![{\displaystyle s}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle s}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se mantiene en un estado si existe ; la transición que sale de eso conduce a un estado en el que se mantiene.![{\displaystyle s}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle a}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle s}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se mantiene en cualquier estado en cualquier conjunto de modo que, cuando la variable se establece en , se cumple para todos . (Del teorema de Knaster-Tarski se deduce que es el mayor punto fijo de y su punto mínimo fijo .)![{\displaystyle T}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle [\![\nu Z.\phi ]\!]_{i}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle T\mapsto [\![\phi ]\!]_{i[Z:=T]}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle [\![\mu Z.\phi ]\!]_{i}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Las interpretaciones de y son en realidad las "clásicas" de la lógica dinámica . Además, el operador puede interpretarse como vivacidad ("algo bueno eventualmente sucede") y como seguridad ("nunca sucede nada malo") en la clasificación informal de Leslie Lamport . [7]![{\displaystyle [a]\phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \langle a\rangle \phi }](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \mu}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle\nu}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Ejemplos
se interpreta como " es cierto en cada camino a". [7] La idea es que " es verdadero en cada camino a " puede definirse axiomáticamente como esa oración (más débil) que implica y que sigue siendo verdadera después de procesar cualquier etiqueta a . [8]![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle Z}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
se interpreta como la existencia de un camino a lo largo de una -transiciones hacia un estado en el que se mantiene. [9]![{\displaystyle \phi}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- La propiedad de un estado de estar libre de puntos muertos , es decir, ningún camino desde ese estado llega a un callejón sin salida, se expresa mediante la fórmula [9]
![{\displaystyle \nu Z.\left(\bigvee _{a\in A}\langle a\rangle \top \wedge \bigwedge _{a\in A}[a]Z\right)}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Problemas de decisión
La satisfacción de una fórmula de cálculo modal μ es EXPTIME-completa . [10] Al igual que para la lógica temporal lineal, [11] los problemas de verificación, satisfacibilidad y validez del modelo del cálculo μ modal lineal son PSPACE-completos . [12]
Ver también
Notas
- ^ Scott, Dana ; Bakker, Jacobus (1969). "Una teoría de los programas". Manuscrito inédito .
- ^ Kozen, Dexter (1982). "Resultados del cálculo μ proposicional". Autómatas, Lenguajes y Programación . ICALP. vol. 140, págs. 348–359. doi :10.1007/BFb0012782. ISBN 978-3-540-11576-2.
- ^ Clarke p.108, Teorema 6; Emerson pág. 196
- ^ Arnold y Niwiński, págs. viii-x y capítulo 6
- ^ Arnold y Niwiński, págs. viii-x y capítulo 4
- ^ Arnold y Niwiński, pag. 14
- ^ ab Bradfield y Stirling, pág. 731
- ^ Bradfield y Stirling, pag. 6
- ^ ab Erich Grädel; Phokion G. Kolaitis; Leónidas Libkin ; Martín Marx; Joel Spencer ; Moshé Y. Vardi ; Ydé Venema; Scott Weinstein (2007). Teoría de modelos finitos y sus aplicaciones. Saltador. pag. 159.ISBN 978-3-540-00428-8.
- ^ Klaus Schneider (2004). Verificación de sistemas reactivos: métodos formales y algoritmos. Saltador. pag. 521.ISBN 978-3-540-00296-3.
- ^ Sistla, AP; Clarke, EM (1 de julio de 1985). "La complejidad de la lógica temporal lineal proposicional". J. ACM . 32 (3): 733–749. doi : 10.1145/3828.3837 . ISSN 0004-5411.
- ^ Vardi, MI (1 de enero de 1988). "Un cálculo de punto fijo temporal". Actas del 15º simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación - POPL '88 . Nueva York, NY, Estados Unidos: ACM. págs. 250-259. doi : 10.1145/73560.73582 . ISBN 0897912527.
Referencias
- Clarke, Edmund M. Jr.; Orna Grumberg; Dorón A. Peled (1999). Comprobación de modelos . Cambridge, Massachusetts, EE.UU.: prensa del MIT. ISBN 0-262-03270-8., capítulo 7, Comprobación de modelos para el cálculo μ, págs. 97-108
- Stirling, Colin. (2001). Propiedades modales y temporales de los procesos . Nueva York, Berlín, Heidelberg: Springer Verlag. ISBN 0-387-98717-7., capítulo 5, Cálculo modal μ, págs. 103-128
- André Arnold; Damián Niwiński (2001). Rudimentos del cálculo μ . Elsevier. ISBN 978-0-444-50620-7., capítulo 6, El cálculo μ sobre álgebras de conjuntos de potencias, págs. 141-153 trata sobre el cálculo μ modal
- Yde Venema (2008) Conferencias sobre el cálculo modal μ; fue presentado en la 18ª Escuela Europea de Verano en Lógica, Lenguaje e Información
- Bradfield, Julian y Stirling, Colin (2006). "Mucálculos modales". En P. Blackburn; J. van Benthem y F. Wolter (eds.). El manual de lógica modal . Elsevier . págs. 721–756.
- Emerson, E.Allen (1996). "Verificación de modelos y cálculo Mu". Complejidad Descriptiva y Modelos Finitos . Sociedad Matemática Estadounidense . págs. 185-214. ISBN 0-8218-0517-7.
- Kozen, Dexter (1983). "Resultados del cálculo μ proposicional". Informática Teórica . 27 (3): 333–354. doi :10.1016/0304-3975(82)90125-6.
enlaces externos
- Sophie Pinchinat, grabación de vídeo de Logic, Automata & Games de una conferencia en la ANU Logic Summer School '09