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 comoFτ,Θ.X . Θ Y SP.
τ
.X . lEste 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 invarianteinductivo. 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.18Dado 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 lospre-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. lDemostraci´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.
τ
.False50 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 diceque 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.ΘDes 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