3.3 Invariantes en el dominio de poliedros convexos
3.3.1 Abstracci´ on
Procederemos a construir nuestro dominio abstracto como una extensi´on pun- tual de la misma forma que lo hicimos conPredyPredLen el cap´ıtulo1. De esta forma primero estudiaremos el conjunto de poliedros convexos cerrados en Rn
(denominadoPoly) como el dominio abstracto para el conjunto de predicados simplesPred.
El posetpPoly, q(poliedros con la inclusi´on est´andar) es un reticulado cu- yas operaciones binarias de ´ınfimo y supremo son la intersecci´on y la envoltura convexa respectivamente. La primera operaci´on puede calcularse utilizando la representaci´on del poliedro como sistema de restricciones y la segunda utilizando la representaci´on como marco; sean dos poliedrosp, q PPoly cuyas representa- ciones como sistema de restricciones y marco son
pJA1X¤B1KrJpS1,R1,D1qKm
qJA2X ¤B2KrJpS2,R2,D2qKm .
Con estas definiciones las operaciones binarias de ´ınfimo y supremo del reticu- lado pueden expresarse como:
p X q . JA1X ¤B1^A2X ¤B2Kr ([enPoly)
p_ q . JpS1YS2, R1YR2, D1YD2qKm (\enPoly) ,
con lo cual, para calcular estas operaciones es necesario conocer ambas repre- sentaciones justificando el uso de la doble representaci´on de poliedros ya men- cionada.
Para calcular la relaci´on de orden (inclusi´on) del poset tambi´en haremos uso de ambas representaciones. Sean dos poliedrosp, q:Poly entonces se puede demostrar que la inclusi´onp q se cumple si y solo s´ı los v´ertices depest´an
90 CAP´ITULO 3. GENERACI ´ON DE INVARIANTES LINEALES incluidos en q y los rayos y l´ıneas de pson tambi´en rayos (no necesariamente rayos extremos) y l´ıneas deq respectivamente. Para el caso de los v´ertices solo se debe comprobar que los mismos satisfagan las restricciones de q. Para el caso de las l´ıneas se puede demostrar que una linea pertenece a un poliedro si la misma satura (definici´on 3.20, p´ag. 83) sus restricciones. En el caso de los rayos es necesario comprobar que los rayos del poliedro psean tambi´en de los semiespacios definidos por las restricciones deq. Veremos a continuaci´on cuales son las restricciones que se deben comprobar: seaRun rayo depyAX¤buna restricci´on deq, utilizando la definici´on3.17(p´ag.77) tenemos:
x @µ, V :µP R ^V Pq: ApV µRq ¤by
{Distributividad, conmutatividad con escalar}
x @µ, V :µP R ^V Pq: AV µAR¤by
Realicemos un an´alisis separado de los casosAR¤0 y AR¡0: Caso(AR¤0)
x @µ, V :µP R ^V Pq: AV µAR¤by
ð {Por casoµAR¤0 }
x @µ, V :µP R ^V Pq: AV µARµAR¤by
{Aritm´etica}
x @µ, V :µP R ^V Pq: AV ¤by
{V pertenece al poliedro entonces satisface la desigualdad}
T Caso(AR¡0) x @µ, V :µP R ^V Pq: AV µAR¤by {Aritm´etica} x @µ, V :µP R ^V Pq: µ¤ pbAVq{ARy {µno est´a acotado} F
En consecuencia, un rayoRdepes tambi´en deqsi y solo siAR¤0 para toda desigualdadAX¤bdeq. A partir de este an´alisis podemos deducir la relaci´on de orden en el poset pPoly, q: si p . JpS,R,DqKm y q
.
JAX ¤ BKr
entonces
p q .
x @S, R, D :SPS^RPR^DPD: AS¤B^AR¤0^AD0y .
El reticulado posee adem´as m´ınimoK(el conjunto vac´ıo∅) y m´aximoJ(Rn).
En general el poset pPoly,q no es cpo local ni co-cpo11 por lo tanto no es
un reticulado completo12. Este hecho puede verificarse considerando el limite de
11El caso particular de poliedros convexos cerrados enR(intervalos cerrados) es completo. 12Esta incompletitud es la que dificulta la utilizaci´on de otro marco de interpretaci´on abs-
tracta basado en la definici´on de una funci´on de abstracci´on o por medio de conectores de Galois.
3.3. INVARIANTES EN EL DOMINIO DE POLIEDROS CONVEXOS 91 una cadena de poliedros convergente hacia una esfera, la cual no es un poliedro y cualquier poliedro inscripto en ella puede ser refinado agregando un v´ertice en la misma.
A continuaci´on enumeraremos algunas propiedades de este dominio: Propiedades 3.27
Seanp, q, rPPolypoliedros, entonces 1. pYq p_ q
2. p X pq _ rq pp X qq _ pp X rqy su dual, 3. p rñpX pq _rq ppX qq _ ry su dual.
Cabe mencionar que el reticulado no es modular ni distributivo, aunque cumple las dos ´ultimas propiedades afines por ser reticulado.
Dado un sistema de transiciones TS p. L,S,
τ
,Θq definiremos el dominio abstractoPolyLdePredLcomo la extensi´on puntual dePolysobre las locacionesL, esto es
PolyL . LÑPoly
y extenderemos puntualmente el m´aximo, m´ınimo, las operaciones de intersec- ci´on y envoltura convexa. DadosP, QPPolyL definiremos:
J.l J. (JenPolyL)
K.l K. (KenPolyL)
pP X Qq.l . P.l X Q.l ([enPolyL) pP _ Qq.l . P.l _Q.l (\enPolyL) pP Qq.l x @. l :lPL: P.l Q.ly (orden en PolyL) En esta secci´on utilizaremos como espacio de estados indistintamente a la funciones de las variables a los valores ΣÑ Ro aRnconnla cantidad de varia-
bles, en la forma que ya fue mencionada en la secci´on1.2. Esto ´ultimo permite ver al conjunto de poliedros como un subconjunto propio de los predicados, es decirPolyPred. Para simplificar a´un m´as la exposici´on, asociaremos directa- mente un poliedro con su representaci´on sint´actica de sistema de restricciones de la misma forma que abreviamos un predicado con su sintaxis (secci´on1.2.1). De esta forma, con el dominio sem´antico abstracto ya establecido procede- remos definir la funci´on de concretizaci´onγL :PolyL ÑPredL como extensi´on puntual deγ :PolyÑPred. Esto es, si un poliedro pPPoly est´a representado de forma algebraica comopJAX¤BKrdefiniremosγcomoγ.p . AX¤B
abreviando la sem´antica con la sintaxis. Pensando a los poliedro como un sub- conjunto propio de los predicados tambi´en podemos definir aγcomo la inyecci´on identidad:
γ:PolyÑPred
γ . Id
y con esta definici´on la funci´on de concretizaci´on ser´a:
γL:PolyLÑPredL
92 CAP´ITULO 3. GENERACI ´ON DE INVARIANTES LINEALES o simplemente γL . Id utilizando la extensi´on puntual de la identidad en L. De esta forma la abstracci´on utilizada ser´a pPredL,PolyL, γLq.
3.3.2
Funci´on sem´antica abstracta
Como ya mencionamos en el ejemplo 3.2la funci´on sem´antica concreta ser´a el transformador de propagaci´on hacia adelante Fτ,Θ : PredL Ñ PredL, con lo
cual la funci´on sem´antica abstracta debe estar relacionada con aquella seg´un la definici´on 3.3 o su lema equivalente 3.4. Para lograrlo vamos a construir un sistema de transiciones abstracto y una jerarqu´ıa de transformadores en el dominio abstracto an´aloga a la definida en el cap´ıtulo1. Dado un sistema de transiciones concretoTS p. L,S,
τ
,Θqtendremos• para cada sentenciasPS construiremos un sentencia abstractas7las que formar´an parte del conjuntoS7,
• una relaci´on de transiciones abstracta
τ
7 igual que la concreta pero rela- cionando sentencias abstractas, esto esτ
7.l.s7.l1τ
.l.s.l1,• un conjunto de estado iniciales abstractos Θ7: PolyL construido a partir de su contraparte concreta tal que Θ γL.Θ7, o simplemente Θ Θ7ya queγL es la funci´on identidad.
Con estos elementos definiremos TS7 p. L,S7,
τ
7,Θ7q como el sistema de transiciones abstracto deTS p. L,S,τ
,Θq.Dado en sistema de transicionesTS p. L,S,
τ
,Θqel transformadorFτ,Θsedefini´o comoFτ,Θ.X . ΘY SP.
τ
.X el cual a su vez est´a definido en base altransformador sp en Pred. En esta secci´on haremos lo mismo para definir una funci´on sem´antica Fτ77,Θ7 :PolyLÑPolyL que cumpla con aquella definici´on y en base a un transformador sp7enPoly. Dado queFτ,Θen el dominio concreto
est´a definida (secciones2.3.1y1.6.1) como
Fτ,Θ.X . Θ Y SP.
τ
.X con SP.τ
.P.l1 . A ¤ l, s :τ
.l.s.l1: sp.s.pP.lq E ,de manera an´aloga definiremos la funci´on sem´antica abstracta:
Fτ77,Θ7.X7 . Θ7 _ SP7.
τ
7.X7 con SP7.τ
7.P.l1 . A_
l, s7 :τ
7.l.s7.l1: sp7.s7.pP.lq E ,reemplazando la cuantificaci´on sobre la uni´on finita en Pred por la envoltura convexa enPolyy dejando para m´as adelante las definiciones de las transiciones, sentencias, estados iniciales y transformador sp7 abstractos.
En este punto veremos una condici´on suficiente para cumplir el lema3.4que define la funci´on sem´antica abstracta. DadoP :PolyL tenemos
Fτ,Θ.pγL.Pq γL.pFτ77,Θ7.Pq
{Definici´on deFτ,Θ yFτ77,Θ7.γL es la identidad. }
3.3. INVARIANTES EN EL DOMINIO DE POLIEDROS CONVEXOS 93 ð { Extensi´on puntual de propiedad3.27(1)}
Θ Θ7^SP.
τ
.P SP7.τ
7.P{ Definici´on de SP y SP7, l´ogica de predicados}
Θ Θ7^ A
@
l1 :l1PL : A ¤ l, s :τ
.l.s.l1: sp.s.pP.lq E A_
l, s7 :τ
7.l.s7.l1 : sp7.s7.pP.lq EE ð { Propiedad3.27(1)} Θ Θ7^ @ @l, s :lPL^sPS : sp.s.pP.lq sp7.s7.pP.lqD ð { L´ogica de predicados} Θ Θ7^ @ @p, s :pPPoly^sPS: sp.s.p sp7.s7.pDpor lo tanto, si podemos construir sentencias abstractas a partir de sentencias concretas y tenemos un transformador de poliedros sp7.s7 tal que para todo poliedrop:Polyse cumple sp.s.p sp7.s7.phabremos conseguido nuestra fun- ci´on sem´antica abstracta. A continuaci´on veremos como construir las sentencias abstractas y el transformador de poliedros sobre las mismas.