Estructura de Kripke

De testwiki
Ir a la navegación Ir a la búsqueda
Este artículo describe las estructuras de Kripke como se usan en Verificación de modelos. Para una descripción más general, ver semánticas de Kripke.

Una estructura de Kripke es una variación del sistema de transición, originalmente propuesta por Saul Kripke,[1] usada en Verificación de modelos.[2] para representar el comportamiento de un sistema. Es básicamente un grafo cuyos nodos representan estados alcanzables del sistema y cuyas aristas representan transiciones de estados. Una función de etiquetado mapea cada nodo a un conjunto de propiedades que se cumple en el estado correspondiente. Las lógicas temporales son interpretadas tradicionalmente en términos de estructuras de Kripke.

Definición formal

Sea A un conjunto de proposiciones atómicas , i.e. expresiones booleanas sobre variables, constantes y predicados. E. M. Clarke, O. Grumberg y D. A. Peled (1999)[3] definen una estructura de Kripke sobre A como una 4-tupla M=<S,I,R,L> donde:

  • S es un conjunto finito de estados.
  • IS, un conjunto de estados iniciales .
  • RS×S es una relación de transición tal que, sS,tS:(s,t)R.
  • una función de etiquetado (o interpretación) L:S𝒫(A).

Dado que R es total, siempre es posible construir un sendero infinito a través de la estructura de Kripke. La función de etiquetado L define para cada estado sS el conjunto L(s) de todas las proposiciones atómicas que son válidas en s.

Un sendero de la estructura M es una secuencia de estados p=s1,s2,s3..., tal que para cada i>0, se cumple R(si,si+1). La traza sobre el sendero ρ es la secuencia de conjuntos de proposiciones atómicas w=L(s1),L(s2),L(s3)..., que es una ω-traza sobre el alfabeto 𝒫(A).

Con esta definición, una estructura de Kripke puede identificarse con una Máquina de Moore con un alfabeto de entrada unitario, y con la función de salida siendo su función de etiquetado.[4]

Ejemplo

Ejemplo sencillo de una estructura de Kripke.

Sea AP={p,q,r} el conjunto de proposiciones atómicas.

La figura de la derecha ilustra una estructura de Kripke M=(S,I,R,L), donde

  • S={s1,s2,s3}.
  • I={s1}.
  • R={(s1,s2),(s2,s3)(s3,s2),(s3,s1)}.
  • L={(s1,{p}),(s2,{p,q}),(s3,{r})}.

M puede producir el sendero p=s1,s2,s3,s2,s3,s1. w={p},{p,q},{r},{p,q},{r},{p} es la traza de ejecución sobre dicho sendero. M puede producir palabras pertenecientes al lenguaje ({p},({p,q},{r})*)ω.

Véase también

Referencias

Plantilla:Listaref

Plantilla:Control de autoridades