LÓGICA TEMPORAL COM RAMIFICAÇÕES - Inf

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.