• No results found

Exercise Care When Using Data from Electronic Sources For the

Otra estrategia para probar la invariancia de un predicado puede derivarse to- mando la definici´on 2.15(p´ag. 47) desde otra perspectiva. Dado un predicado

P intentaremos encontrar un predicadoφtal que verifique

1. φ „ WLP.

τ

.φ y 2. φ „ P.

Para corroborar si P es un invariante restar´ıa verificar Θ „ φ. Sin esta con- dici´on φ es solo un invariante inductivo candidato. Notar que esta condici´on ser´a necesaria si φes el predicado m´as d´ebil que verifica las condiciones 1 y2. Las mismas pueden conjugarse en una equivalente:

φ „ PXWLP.

τ

.φ ,

por lo tanto lo que debemos encontrar es el predicadoφm´as d´ebil que cumpla esta ´ultima ecuaci´on. A partir de la parte derecha, definamos la funci´on sobre el reticuladopPredL, „ q

Bτ,P.X . P X WLP.

τ

.X ,

de forma tal que la ´ultima ecuaci´on puede escribirse como

φ „ Bτ,P.φ .

Como PredL es un reticulado completo, haciendo el an´alisis dual del transfor- mador de propagaci´on hacia adelante podemos deducir que el m´aximo punto fijo de la ecuaci´on existe y es el m´aximo de los pos-puntos fijos deBτ,P:

ν.Bτ,P x

”

X :X „ Bτ,P.X: Xy .

por lo tanto el mismo es el invariante candidato que deseamos encontrar. A partir de este desarrollo introduciremos la siguiente definici´on y teorema.

54 CAP´ITULO 2. INVARIANTES Definici´on 2.21 (Propagaci´on hacia atr´as)

Dado un sistema de transicionesTS p. L,S,

τ

,Θqy un predicado P :PredL sobre el mismo definiremos el transformadorBτ,P :PredLÑPredL como

Bτ,P.X . P X WLP.

τ

.X . l

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

es[-continuo y mon´otono. Aunque WLP es universalmente conjuntivoBτ,P no

hereda esta propiedad ya queBτ,P.TrueP (es interrumpible).

El siguiente lema muestra que el m´aximo punto fijoν.Bτ,P es solo un inva-

riante inductivo candidato. Lema 2.22

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

τ

,Θq, ν.Bτ,P es un invariante

inductivo candidato. l

Demostraci´on

ν.Bτ,P es pos-punto fijo deBτ,P.

{Definici´on de punto fijo}

ν.Bτ,P „ Bτ,P.pν.Bτ,Pq {Definici´on deBτ,P } ν.Bτ,P „ P X WLP.

τ

.pν.Bτ,Pq ñ {L´ogica de predicados} ν.Bτ,P „ WLP.

τ

.pν.Bτ,Pq ñ {Definici´on2.12}

ν.Bτ,P es un invariante inductivo candidato. l

Adem´as, este invariante inductivo candidato es el mayor (m´as d´ebil) de los incluidos en la propiedadP (m´as fuertes queP):

Lema 2.23

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

τ

,Θq, ν.Bτ,P es el mayor inva-

riante inductivo candidato m´as fuerte queP. l

Demostraci´on

Sea φ un invariante inductivo candidato del sistema tal que φ „ P. Por ser invariante inductivo candidato se cumple φ „ WLP.

τ

φ. Por lo tanto φ es un pos-punto fijo deBτ,P y comoν.Bτ,P es el m´aximo de los pos-punto fijos en-

tonces es mayor queϕ. l

Este ´ultimo lema junto con la definici´on de invariante2.15(p´ag.47) muestran que a partir deν.Bτ,P solo se puede deducir queP es un invariante candidato.

El siguiente teorema agrega la condici´on necesaria para que el predicado sea un invariante:

Teorema 2.24

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

τ

,Θq, un predicado P es inva- riante del mismo si y solo si se cumple Θ „ ν.Bτ,P. l

Demostraci´on

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

2.3. INVARIANTES Y PUNTOS FIJOS 55 Notar que a partir de este teoremaν.Bτ,P puede ser visto como el conjunto de

estados iniciales m´as d´ebil a partir del cual el predicadoP es invariante. De igual manera que con el m´ınimo punto fijo µ.Fτ,Θ el m´aximo punto fijo

ν.Bτ,P puede escribirse como el l´ımite de una cadena ya quePredLes un co-cpo:

µ.Bτ,P @ “ i :iP N: Bi τ,P.True D .

Vamos a denominar la secuencia en cuesti´on comoφ0, φ1, donde definimos

φn . Bnτ,P.True. Ver que con esta definici´onφn 1 Bτ,P.φn. Mostraremos

a partir de ella cual es el significado de aquel l´ımite. El primer elemento de la secuencia es el m´ınimo elementoTrue. Veamos el segundo:

φ1 { Definici´on deφ1 } Bτ,P.True { Definici´on deBτ,P } P X WLP.

τ

.True { WLP es no interrumpible} P X True

{ Truees el mayor elemento del reticulado}

P

Por lo tanto el segundo elemento de la secuencia es el conjunto de configuraciones inicialesP. El tercer elemento esφ2P X WLP.

τ

.P lo cual nos muestra que

es el conjunto de configuraciones que cumplenPy desde las cuales si el programa termina lo hace a alguna configuraci´on enP. El cuarto elemento de la secuencia es: φ3 { Definici´on deφ3 } Bτ,P.φ2 { Definici´on deBτ,P } P X WLP.

τ

.φ2 { Definici´on deφ2 } P X WLP.

τ

.pP X WLP.

τ

.Pq { Conjuntividad de WLP} P X WLP.

τ

.P X pWLP.

τ

q2.P

Con lo cualφ3es conjunto de configuraciones que cumplenP y desde las cuales

si el programa termina en una o dos iteraciones lo hace hacia alguna enP. Puede demostrarse por inducci´on que

φn 1P X

@ “

i : 0 i¤n: pWLP.

τ

qi.P D

por lo tantoφn 1es el conjunto de configuraciones que cumplenP y desde las

cuales si el programa termina durante n pasos de ejecuci´on lo hace a alguna enP. Como φnBnτ,P.True esta misma ecuaci´on puede escribirse como

Bn

τ,P.True

@ “

56 CAP´ITULO 2. INVARIANTES A partir de estas ecuaciones se puede ver que la secuencia forma una cadena descendente comenzando desdeTrue:

True

loomoon … loooomoooon …Bτ,Ppφ0q loooomoooon …Bτ,Ppφ1q Bloooomoooon … τ,Ppφ2q

φ0 φ1 φ2 φ3

El l´ımite de esta secuencia existe y es el conjunto de configuraciones desde las cuales si el programa termina en cualquier n´umero de iteraciones lo hace hacia alguna enP.

Cabe agregar que como los elementos de la secuencia son mayores al invarian- te inductivo candidatoν.Bτ,P, por definici´on2.15(p´ag.47) estos son invariantes

candidatos. Solo si se verifica Θ „ ν.Bτ,P ser´an adem´as invariantes a secas (no

necesariamente inductivos). Ejemplo 2.25

Bajo esta nueva perspectiva analicemos el mismo sistema de transiciones 2.1

(p´ag. 51). En este ejemplo intentaremos demostrar que la propiedadnN se cumple al finalizar el programa, es decirP r. True,True, nNses invariante del programa (nN se cumple enl2).

En este caso el predicadoφ0es el m´aximo del reticuladoTrueo utilizando la

notaci´on de listas φ0 rtrue,true,trues. El siguiente elemento φ1 de la cadena

esP como vimos en el desarrollo anterior. Calculemosφ2:

φ2

{Definici´on deφ2 yBτ,P }

P X WLP.

τ

.φ1

{Resultado anterior sobreφ1 }

P X WLP.

τ

.P

{Notaci´on enPredL como lista. Definici´on de WLP}

rtrue,true, nNs X rtrue, wlp.τ1.true X wlp.τ2.pnNq,trues

{Definici´on de wlp. wlp es no interrumpible}

rtrue,true, nNs X rtrue, trueX n¥N ñnN,trues {[enPredyPredL. Aritm´etica}

rtrue, n¤N, nNs

Este resultado muestra queφ2son las configuraciones desde las cuales durante

un paso de ejecuci´on se alcanza el conjunto de estados n N. Calculemos ahoraφ3:

φ3

{Definici´on deφ3 yBτ,P }

P X WLP.

τ

.φ2

{Resultado anterior sobreφ2 }

P X WLP.

τ

.rtrue, n¤N, nNs

{Notaci´on enPredL como lista. Definici´on de WLP} rtrue,true, nNs X

2.3. INVARIANTES Y PUNTOS FIJOS 57 { Definici´on de wlp}

rtrue,true, nNs X

rN ¥0, n N ñn 1¤N X n¤N,trues { L´ogica de predicados, aritm´etica}

rtrue,true, nNs X

rN ¥0, n¤N,trues { [enPredL }

rN ¥0, n¤N, nNs

Este resultado muestra que si comienzo el programa en alguna configuraci´on

N ¥0 si el programa termina en tres pasos lo hace enP. Calculemos ahoraφ4:

φ4

{ Definici´on deφ4 yBτ,P }

P X WLP.

τ

.φ3

{ Resultado anterior sobreφ3 }

P X WLP.

τ

.rN ¥0, n¤N, nNs

{ Notaci´on enPredL como lista. Definici´on de WLP}

rtrue,true, nNs X

rwlp.τ0.pn¤Nq,wlp.τ1.pn¤Nq X wlp.τ2.pnNq,trues

{ Demostraci´on anterior}

rN ¥0, n¤N, nNs

Por lo tanto φ4 φ3 con lo cual todos lo elementos de la cadena son iguales

aφ3 y hemos alcanzado el punto fijoν.Bτ,P:

ν.Bτ,P rN¥0, n¤N, nNs .

Para comprobar queP es un invariante resta verificar Θ „ ν.Bτ,P (sin esto P

es solo un invariante candidato) o en notaci´on de listas

rN ¥0,false,falses „ rN ¥0, n¤N, nNs

lo cual es claramente verdadero.

Por ´ultimo, con este resultado podemos anotar el programa 1.1 (p´ag. 18) con el nuevo invariante:

Programa 2.2 Programa 1.1anotado

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

58 CAP´ITULO 2. INVARIANTES Cabe remarcar que para realizar esta anotaci´on no fue necesario calcular el l´ımite de una cadena infinita, como lo hicimos en el ejemplo2.20(p´ag. 50), ya que enφ3se alcanza el punto fijo.

Related documents