LÓGICA TEMPORAL COM RAMIFICAÇÕES (Branching time temporal logics) UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Lógica para computação Ananias Tessaro Bruno Fernandes Lucas Lopes
Lógica Temporal O objetivo da lógica temporal é a especificação de propriedades de sistemas dinâmicos. Lógica Temporal permite que se raciocine sobre uma seqüência de estados. Quando a lógica permite expressar apenas a possibilidade ou necessidade de ocorrência de algumas (seqüências finitas de) ações, ela é de fato chamada lógica modal. Quando ela permite além disso, expressar que uma propriedade é sempre verdadeira, ou verdadeira no futuro sobre seqüências infinitas de comportamento, então ela é chamada de lógica temporal
Lógica Temporal Lógica temporal é uma extensão de lógica convencional que incorpora operadores especiais para relacionar a validade das fórmulas lógicas à evolução do sistema. Em argumentos informais sobre assuntos não matemáticos, o tempo é algumas vezes crucial. Podendo ser analogamente verificado no exemplo: José casa com Maria, José casou com Maria, José casará com Maria.
Lógica Temporal A lógica clássica trata de verdades eternas", no sentido em que a linguagem não dispõe de nenhum mecanismo para representar explicitamente o tempo e suas conseqüências sobre os valores verdade de fórmulas lógicas. A principal característica de uma lógica temporal é o fato de uma determinada fórmula lógica poder apresentar valores verdade distintos em instantes diferentes do tempo.
Lógica Temporal Seja A uma fórmula qualquer: (i) FA - A será verdade em algum instante no futuro; (ii) PA - A foi verdade em algum instante no passado;
Lógica Temporal (iii) GA - A será verdade em todos os instantes do futuro; (iv) HA - A foi verdade em todos os instantes do passado.
Lógica Linear Vs. Lógica Ramificada Existem dois grandes grupos de lógica temporal: em lógica temporal linear, operadores descrevem propriedades presentes em todas as possíveis trajetórias do sistema; em árvore de computação lógica (CTL), operadores temporais inferem sobre diferentes trajetórias a partir de um dado estado.
Modelos para Lógica Temporal Modelos de lógicas temporais contém diversos estados e uma fórmula pode ser verdadeira em alguns estados e falsa em outros. A noção estática de verdade é substituída por uma noção dinâmica. Modelos são espécies de sistemas de transição e as propriedades são fórmulas em lógica temporal.
Lógica Temporal CTL Lógicas modais, como HML, podem expressar capacidades e necessidades locais de processos. HML não pode expressar propriedades duradouras como um tick é sempre possivel como uma próxima ação ou propriedades inevitáveis com o passar do tempo como um tick acontecerá mais cedo ou mais tarde. CTL significa Computation Tree Logic. CTL contém operadores que nos permitem refererir ao Futuro. Modelo de computação é uma estrutura ramificada (árvore), no sentido que diferentes caminhos são possíveis no futuro.
CTL - Sintaxe - Formal
CTL - Sintaxe - Informal As formulas em CTL são as fórmulas acrescidas dos operadores temporais AG,AF,EG,EF. Cada conectivo é um par de símbolos. A significa ao longo de todos os caminhos (inevitavelmente). E significa ao longo de pelo menos um caminho (possivelmente). F significa em algum estado futuro. G significa em todos os estados futuros (globalmente).
CTL - Execuções (Runs) Uma outra abstração para o comportamento de um processo, além da noção de grafo de transição, é o conceito de execução (run). Uma execução de P0 é uma seqüência finita ou infinita de transições.
CTL - Sintaxe - Informal
Exemplo
Exemplo
Referências Lógica Proposicional disponivel em: http://www.inf.pucrs.br/~alfio/paradigmasformais/temporal-logic.pdf. MARTINI, Alfio. Lógica Proposicional - Lógicas Modais e Temporais Para Computação. SRINIVASAN, Jai. EMERSON, E. Allen. Branching Time Temporal Logic - Lecture Notes In Computer Science 354 P.