• No se han encontrado resultados

2.3 Invariantes y puntos fijos

2.3.1 Propagaci´ on hacia adelante

Seg´un definici´on 2.15 si queremos probar la invariancia de predicado P

podr´ıamos intentar encontrar el predicadoϕm´as fuerte tal que 1. Θ „ ϕ y

2. SP.

τ

.ϕ „ ϕ

y con el mismo intentar probar la condici´onϕ „ P. Las dos primeras condicio- nes pueden conjugarse en una equivalente:

ΘYSP.

τ

.ϕ „ ϕ ,

por lo tanto lo que debemos encontrar es el predicadoϕm´as fuerte que cumpla esta ´ultima condici´on. Observando la parte izquierda de esta ecuaci´on, definamos la funci´on sobre el reticuladopPredL, „ q

Fτ,Θ.X . Θ Y SP.

τ

.X ,

de forma tal que la ´ultima ecuaci´on pueda escribirse en la forma del pre-punto fijo

Fτ,Θ.ϕ „ ϕ .

Por lo tanto lo que queremos encontrar es el menor predicado tal que esta ´ultima ecuaci´on se cumpla, es decir queremos encontrar el menor pre-punto fijo de la funci´onFτ,Θ en el reticulado. El resultado de la ecuaci´on existe ya que PredL es un reticulado completo y adem´as por teorema2.7(Knaster-Tarski) coincide con el menor punto fijo deFτ,Θ:

µ.Fτ,Θ x

“

X :Fτ,Θ.X „ X: Xy .

Por lo tanto el invariante inductivoϕque intentamos encontrar es justamente el menor punto fijoµ.Fτ,Θ . Solo resta ver si se cumple la condici´onµ.Fτ,Θ „ P

para comprobar siP es un invariante. A partir de este desarrollo introduciremos la siguiente definici´on y teorema.

Definici´on 2.16 (Propagaci´on hacia adelante)

Dado un sistema de transicionesTS p. L,S,

τ

,Θqdefiniremos el transforma- dorFτ,Θ:PredLÑPredL como

Fτ,Θ.X . Θ Y SP.

τ

.X . l

Este transformador es positivamente disyuntivo por lo que seg´un teorema 2.6

es\-continuo y mon´otono. Aunque SP es universalmente disyuntivo el nuevo transformador no hereda esta propiedad ya queFτ,Θ.FalseΘ (no es estricto).

Lema 2.17

Dado un sistema de transiciones TS p. L,S,

τ

,Θq, µ.Fτ,Θ es un invariante

inductivo. l

Demostraci´on

µ.Fτ,Θ es pre-punto fijo deFτ,Θ.

{Definici´on de punto fijo} Fτ,Θ.pµ.Fτ,Θq „ µ.Fτ,Θ

2.3. INVARIANTES Y PUNTOS FIJOS 49 { Definici´on deFτ,Θ } Θ Y SP.

τ

.pµ.Fτ,Θq „ µ.Fτ,Θ { L´ogica de predicados} Θ „ µ.Fτ,Θ ^ SP.

τ

.pµ.Fτ,Θq „ µ.Fτ,Θ { Definici´on2.12} µ.Fτ,Θ es un invariante inductivo l Lema 2.18

Dado un sistema de transicionesTS p. L,S,

τ

,Θq, µ.Fτ,Θ es el menor inva-

riante inductivo. l

Demostraci´on

Seaϕun invariante inductivo del sistema. Entonces Θ „ ϕy SP.

τ

ϕ „ ϕ. Por lo tanto ϕ es un pre-punto fijo de Fτ,Θ. Como µ.Fτ,Θ es el m´ınimo de los

pre-puntos fijos entonces es menor queϕ. l

Teorema 2.19

Dado un sistema de transiciones TS p. L,S,

τ

,Θq, un predicado P sobre el mismo es invariante si y solo si se cumpleµ.Fτ,Θ „ P. l

Demostraci´on

La demostraci´on de este teorema se deriva de los lemas anteriores y el teore-

ma2.14. l

Notar que seg´un este teoremaµ.Fτ,Θes el invariante m´as fuerte del sistema de

transiciones.

La definici´on de µ.Fτ,Θ como el ´ınfimo de los pre-puntos fijos puede ser

engorrosa al momento de intentar calcularlo ya que al menos habr´ıa que obtener todos los pre-puntos fijos del transformadorFτ,Θ. Pero, ya quePredL es un cpo podemos aplicar el teorema 2.8 y presentarlo como l´ımite de una secuencia numerable de predicados: µ.Fτ,Θ @ ” i :iP N: Fi τ,Θ.False D .

Vamos a denominar la secuencia en cuesti´on como ϕ0, ϕ1, definida como

ϕn

.

Fn

τ,Θ.False. Ver que con esta definici´on ϕn 1 Fτ,Θ.ϕn. Mostraremos

a partir de ella cual es el significado de aquel l´ımite. El primer elemento de la secuencia es el m´ınimo elementoFalse del reticuladopPredL, „ q. Veamos el segundo: ϕ1 { Definici´on deϕ1 } Fτ,Θ.False { Definici´on deFτ,Θ } Θ Y SP.

τ

.False

50 CAP´ITULO 2. INVARIANTES {SP es estricto}

ΘY False

{Falsees el menor elemento del reticulado}

Θ .

Por lo tanto el segundo elemento de la secuencia es el conjunto de configuraciones iniciales Θ. El tercer elemento es claramenteϕ2Θ Y SP.

τ

.Θ lo cual nos dice

que este resultado es el conjunto de configuraciones iniciales m´as las alcanzables despu´es de un paso de ejecuci´on del sistema de transiciones. Veamos el cuarto elemento de la secuencia: ϕ3 {Definici´on deϕ3 } Fτ,Θ.ϕ2 {Definici´on deFτ,Θ } ΘY SP.

τ

.ϕ2 {Definici´on deϕ2 } ΘY SP.

τ

.pΘ Y SP.

τ

.Θq {Disyuntividad de SP} ΘY SP.

τ

.ΘY pSP.

τ

q2.Θ .

Con lo cualϕ3es conjunto de configuraciones iniciales m´as las alcanzables des-

pu´es de uno o dos pasos de ejecuci´on del sistema de transiciones (teorema1.29, p´ag30). Puede demostrarse f´acilmente por inducci´on que

ϕn 1ΘY

@ ”

i : 0 i¤n: pSP.

τ

qi.ΘD

es decir ϕn 1 es el conjunto de configuraciones iniciales m´as las alcanzables

durante n pasos de ejecuci´on. Adem´as, a partir de esta ecuaci´on, la secuencia forma una cadena ascendente comenzando desdeFalse:

False

loomoon „ loooomoooon „Fτ,Θpϕ0q loooomoooon „Fτ,Θpϕ1q Floooomoooon „ τ,Θpϕ2q

ϕ0 ϕ1 ϕ2 ϕ3

El l´ımite de esta secuencia existe (esµ.Fτ,Θ) y coincide el conjunto de configu-

raciones alcanzables desde Θ en cualquier n´umero de iteraciones del sistema de transiciones.

Ejemplo 2.20

Bajo esta perspectiva analicemos el sistema de transiciones2.1correspondiente al programa1.1(p´ag.18) formulado en el cap´ıtulo anterior:

2.3. INVARIANTES Y PUNTOS FIJOS 51

Grafo de transiciones 2.1 Programa1.1

l0 tN ¥0u l1 l2 τ0 :n:0 τ1 : n N ÞÑn:n 1 τ2: n¥N ÞÑskip

El predicadoϕ0es el m´ınimo del reticuladoFalseo utilizando la notaci´on de

listasϕ0 rfalse,false,falses. Obtengamos el siguiente predicado de la cadena:

ϕ1 { Definici´on deϕ1 } Fτ,Θ.False { Definici´on deFτ,Θ } Θ Y SP.

τ

.False { SP es estricto} Θ Y False

{ Falsees m´ınimo del reticulado}

Θ .

Por lo tantoϕ1Θ. Veamos el siguiente elemento de la cadena:

ϕ2

{ Definici´on deϕ2 yFτ,Θ }

Θ Y SP.

τ

.ϕ1

{ Resultado anterior sobreϕ1 }

Θ Y SP.

τ

{ Notaci´on enPredLcomo lista. Definici´on de SP (ver ejemplo1.17)} rN¥0,false,falses Y rfalse,sp.τ0.pN ¥0q Y sp.τ1.false,falses

{ Definici´on de sp. sp es estricto}

rN¥0,false,falses Y rfalse,pN¥0^n0q Y false,falses { \enPredyPredL. Aritm´etica}

52 CAP´ITULO 2. INVARIANTES Este resultado muestra queϕ2 denota las configuraciones que se alcanzan des-

pu´es ejecutar la sentencian:0 (el primer paso de ejecuci´on) m´as las configu- raciones iniciales en Θ. Calculemos ahoraϕ3:

ϕ3

{Definici´on deϕ3 yFτ,Θ }

ΘY SP.

τ

.ϕ2

{Resultado anterior sobreϕ2 }

ΘY SP.

τ

.rN ¥0, N ¥0^n0, falses

{Notaci´on enPredL como lista. Definici´on de SP} rN ¥0,false,falses Y

rfalse, sp.τ0.pN ¥0q Y sp.τ1.pN¥0^n0q,sp.τ2.pN¥0^n0qs

{Definici´on de sp}

rN ¥0,false,falses Y

rfalse, pN ¥0^n0q Y pN ¡0^n1q, N 0^n0s {L´ogica de predicados, aritm´etica}

rN ¥0,false,falses Y

rfalse, 0¤n 2^n¤N, n0^nNs

{\enPredL }

rN ¥0,0¤n 2^n¤N, n0^nNs

Este resultado muestra queϕ3representa las configuraciones en el estado inicial

m´as las alcanzables durante dos iteraciones del bucle. Por inducci´on se puede probar que

ϕi 2 rN ¥0,0¤n i 1^n¤N,0¤n i^nNs .

Claramente este conjunto enumerado de f´ormulas forma una cadena ascendente en PredL. Calculando el l´ımite x” i :iP N: ϕiy obtenemos el menor punto

fijo

µ.Fτ,Θ rN¥0,0¤n¤N,0¤nNs .

Este resultado muestra que en la locaci´on l1 el programa 2.1tiene como inva-

riante m´as fuerte a 0¤n¤N y en la locaci´onl2 a 0¤nN. De esta ´ultima

observaci´on y el teorema 2.19 se deduce que cuando el programa termina se cumple nN.

2.3. INVARIANTES Y PUNTOS FIJOS 53 Por ´ultimo, con este resultado podemos anotar el programa 1.1 (p´ag. 18) con el nuevo invariante:

Programa 2.1 Programa 1.1anotado

l0: tN ¥0u n:0; l1: t0¤n¤Nu don NÞÑ n:n 1 od l2: tnNu