Mu-cálculo

Na lógica matemática e na ciência da computação teórica , mu-calculus (ou lógica do modal mu-calculus ) é a extensão da lógica modal clássica com operadores de ponto fixo . Segundo Bradfield e Walukiewicz, mu-calculus é uma das lógicas mais importantes para a verificação de modelos; é expressivo, embora tenha boas propriedades algorítmicas.

Mu-cálculo ( proposicional e modal ) foi introduzido pela primeira vez por Dana Scott e Jaco de Bakker e, em seguida, estendido em sua versão moderna por Dexter Kozen . Essa lógica permite descrever as propriedades dos sistemas de transição de estado e verificá-las. Muitas lógicas temporais (como CTL * ou seus fragmentos amplamente usados ​​como CTL  (en) ou LTL ) são fragmentos de cálculo mu.

Uma maneira algébrica de ver o cálculo mu é pensá-lo como uma álgebra de funções monotônicas sobre uma rede completa , os operadores sendo uma composição funcional mais pontos fixos; deste ponto de vista, mu-calculus atua na rede da álgebra de conjuntos . A semântica dos jogos de mu-cálculo está ligada a jogos para dois jogadores com informações perfeitas, em particular jogos de paridade .

Sintaxe

Sejam dois conjuntos de símbolos P (as proposições) e A (as ações) e V um conjunto enumerável infinito de variáveis. O conjunto de fórmulas de cálculo mu (proposicional e modal) é indutivamente definido como segue:

As noções de variáveis ​​limitadas ou livres são definidas normalmente com quem é o único operador vinculando uma variável.

Com as definições acima, podemos adicionar como açúcar sintático  :

Os dois primeiros são fórmulas familiares de cálculo e modal lógica K .

A notação (e respectivamente seu dual ) é inspirada no cálculo lambda  ; o objetivo é denotar o menor (respectivamente o maior) ponto fixo na variável Z da expressão, assim como em lambda-cálculo é uma função da fórmula na variável limitada Z  ; consulte a semântica denotacional abaixo para obter mais detalhes.

Semântica denotacional

Os modelos de uma fórmula de cálculo mu (proposicional, modal) são dados como sistemas de transição de estado onde:

Dado um sistema de transição , uma interpretação associa um subconjunto de estados a qualquer variável . Definimos o subconjunto de estados por indução estrutural na fórmula  :

Por dualidade, a interpretação das outras fórmulas básicas é:

Informalmente, para um sistema de transição  :

A interpretação de e é a interpretação "clássica" da lógica dinâmica . Além disso, pode ser visto como uma propriedade de vivacidade ("algo bom acontece de cada vez"), enquanto é visto como uma propriedade de segurança ("algo ruim nunca acontece") na classificação informal de Leslie .

Exemplos

Alternação

A alternância de pontos fixos menores e maiores é chamada de profundidade de alternância. Podemos contar o número de alternâncias, mas geralmente usamos uma definição mais sofisticada introduzida por Damian Niwiński, que também analisa o uso de variáveis. A hierarquia de alternância é estrita.

Problemas de algoritmo

O problema de verificação do modelo de cálculo mu está em NP inter co-NP e é P -dur. Um algoritmo para verificação de modelo de cálculo mu é o seguinte:

O problema de satisfatibilidade do cálculo mu está completo em EXPTIME .

Tal como acontece com a lógica temporal linear (LTL), o problema de verificação do modelo , satisfatibilidade e validade do cálculo mu linear é PSPACE-completo .

Discussões

A sintaxe original do mu-calculus era vetorial. A vantagem dessa notação é que ela permite que as variáveis ​​sejam compartilhadas em várias subfórmulas. Existe uma versão linear (não conectada) do cálculo mu.

Bibliografia

links externos

Notas e referências

  1. (em) Julian Bradfield e Igor Walukiewicz , "The mu-cálculo e verificação de modelo" , em Handbook of Modelo Verificação , Springer Publishing Internacional,2018( ISBN  9783319105741 , DOI  10.1007 / 978-3-319-10575-8_26 , ler online ) , p.  871-919
  2. André Arnold e Damian Niwiński, Rudiments of μ-Calculus , pp. viii-xe capítulo 6.
  3. André Arnold e Damian Niwiński, Rudiments of μ-Calculus , pp. viii-xe capítulo 4.
  4. André Arnold e Damian Niwiński, Rudiments of μ-Calculus , p. 14
  5. Julian Bradfield e Colin Stirling, O Manual de Lógica Modal , p. 731.
  6. (en) Erich Grädel, Phokion G. Kolaitis, Leonid Libkin , Maarten Marx, Joel Spencer, Moshe Y. Vardi, Yde Venema e Scott Weinstein, Teoria do Modelo Finito e suas Aplicações , Springer,2007, 437  p. ( ISBN  978-3-540-00428-8 , leitura online ) , p.  159.
  7. "  Curso de cálculo mu na Labri  " .
  8. (em) Damian Niwinski , "  We fixed-point clones  " , Automata, Languages ​​and Programming , Springer, Berlin, Heidelberg, leia Notes in Computer Science,15 de julho de 1986, p.  464-473 ( ISBN  3540167617 , DOI  10.1007 / 3-540-16761-7_96 , lido online , acessado em 12 de março de 2018 )
  9. (em) JC Bradfield , "  The modal mu-calculus is strict alternation hierarchy  " , CONCUR '96 Concurrency Theory , Springer, Berlin, Heidelberg, ler Notes in Computer Science,26 de agosto de 1996, p.  233–246 ( ISBN  3540616047 , DOI  10.1007 / 3-540-61604-7_58 , lido online , acessado em 12 de março de 2018 )
  10. (in) Klaus Schneider, Verificação de sistemas reativos: métodos e algoritmos formais , Springer,2004, 602  p. ( ISBN  978-3-540-00296-3 , leitura online ) , p.  521.
  11. (em) AP Sistla e EM Clarke , "  The Complexity of Propositional Linear Temporal Logics  " , J. ACM , vol.  32, n o  3,1 r jul 1985, p.  733-749 ( ISSN  0004-5411 , DOI  10.1145 / 3828.3837 , ler online ).
  12. (en) MY Vardi , "  A Temporal Fixpoint Calculus  " , ACM , New York, NY, USA,1 r janeiro 1988, p.  250–259 ( ISBN  0897912527 , DOI  10.1145 / 73560.73582 , leia online ).
  13. Julian Bradfield e Igor Walukiewicz , The mu-calculus and model-checking ( leia online )
  14. Howard Barringer , Ruurd Kuiper e Amir Pnueli , “  Um modelo concorrente realmente abstrato e sua lógica temporal  ”, POPL 'x86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , ACM,1986, p.  173–183 ( DOI  10.1145 / 512644.512660 , ler online , acessado em 12 de março de 2018 )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">