Parte I: Un nuevo esquema gen´ erico CFLP(D) para la progra-
4. Resoluci´ on de objetivos en el esquema CFLP(D)
4.3. El c´alculo de estrechamiento demandado CDNC (D)
4.3.6. Resultados de correcci´on y completitud fuerte
correcta tal que SolH(Π2θ) ⊆
S2
i=1SolH(Si2σi). Sin embargo, no existe una ´unica
respuesta computada S2σ para la que se verifique que SolH(Π2θ) ⊆ SolH(S2σ).
Veremos en la siguiente subsecci´on que de nuevo esto es cierto en general. 4.3.6. Resultados de correcci´on y completitud fuerte
En esta secci´on presentamos las principales caracter´ısticas del c´alculo de resoluci´on de objetivos CDNC (D) con respecto a la sem´antica declarativa proporcionada por la l´ogica para la reescritura CRWL(D), es decir, su correcci´on y su completitud. Para probar ambas propiedades vamos a usar las mismas t´ecnicas que las que hemos usado para el c´alculo CLNC (D). El primer resultado nos va a permitir demostrar la correcci´on de un solo paso de transformaci´on. Este resultado muestra que los pasos de transformaci´on preservan la admisibilidad de los objetivos, fallan s´olo en el caso de objetivos insatisfactibles y no introducen nuevas respuestas.
Lema 14 (Lema de Correcci´on) Sea P un COISS (D)-programa. El c´alculo de
resoluci´on de objetivos CDNC (D) verifica las siguientes propiedades:
(1) Los pasos de transformaci´on del c´alculo preservan la admisibilidad de objetivos:
Si G ``CDNC (D) G0 y G es un objetivo admisible, entonces G0 tambi´en es un
objetivo admisible. M´as a´un, f var(G0) ⊆ f var(G).
(2) Los pasos de transformaci´on fallan s´olo en el caso de objetivos insatisfactibles:
Si G ``CDNC (D) ¥ entonces SolP(G) = ∅ (o equivalentemente, el conjunto de
respuestas AnsP(G) s´olo incluye respuestas triviales).
(3) Los pasos de transformaci´on no introducen nuevas respuestas: Si G ``CDNC (D)G0 y (Π2θ) ∈ Ans
P(G0) entonces (Π2θ) ∈ AnsP(G).
La correcci´on del c´alculo se sigue directamente del Lema de Correcci´on y asegura que las respuestas computadas para un objetivo admisible G son respuestas correctas de
G con respecto a la sem´antica declarativa del esquema CFLP(D).
Teorema 8 (Correcci´on de CDNC (D)) Si G0 es un objetivo admisible inicial tal que G0 ``∗CDNC (D) Gn, donde Gn≡ ∃U . 2 2S2σ es un objetivo en forma resuelta,
entonces (S2σ) ∈ AnsP(G0).
La completitud del c´alculo CDNC (D) se basa en la misma idea que hemos uti- lizado para demostrar la completitud del c´alculo CLNC (D): siempre que tengamos una respuesta (Π 2 θ) ∈ AnsP(G) para un objetivo admisible G que no est´e en forma resuelta, existe una cantidad finita de posibilidades de elegir un primer pa- so de c´omputo G `` Gj (1 ≤ j ≤ l) de forma que los nuevos objetivos Gj est´an
m´as pr´oximos a ser resueltos y permiten cubrir todas las soluciones de Π 2 θ. Es-
146 4. Resoluci´on de objetivos en el esquema CFLP(D) el cual recae tambi´en sobre un orden de progreso bien fundamentado B para ob- jetivos admisibles con ´arboles definicionales, t´ecnicamente m´as complicado que el utilizado para el c´alculo CLNC (D), ya que ha de combinar las t´ecnicas ya presen- tadas para CFLP en las secciones anteriores con las t´ecnicas utilizadas para ´arboles definicionales en [Vad03a, Vad03b, Vad07] para demostrar la completitud de c´alculos de estrechamiento perezoso en lenguajes FLP. Con este prop´osito, recogemos en la siguiente definici´on algunos ordenes de utilidad.
Definici´on 26 (Orden de Progreso para CDNC (D)) Sea P un COISS (D)-pro-
grama, G ≡ ∃U . P 2 C 2 S 2 σ un objetivo admisible para P y M : (Π2θ) ∈
AnsP(G) una respuesta para G con testigo M. Definimos los siguientes tama˜nos y
ordenes asociados a G y a M:
(a) Un multiconjunto de parejas de n´umeros naturales W(G, M) =def {k T kG,M
| T ∈ M}, denominado peso del testigo, donde para cada CRWL(D)-prueba T
∈ M, la pareja de n´umeros k T kG,M ∈ N × N se define como sigue:
Si T : P `D tθ → θ(R) ⇐ Π para una producci´on demandada (< τ, T >→
R) ∈ P , entonces k T kG,M =def (| T |OR, | T |).
Si T : P `D tθ → θ(R) ⇐ Π para una suspensi´on (t → R) ∈ P , entonces
k T kG,M =def (| T |OR, 1 + | T |).
Si T : P `D δθ ⇐ Π para una restricci´on δ ∈ C, entonces k T kG,M =def
(| T |OR, | T |).
En todos los casos, | T |OR es el n´umero de pasos de deducci´on en la derivaci´on
T que usan la CRWL(D)-regla de deducci´on DFP y | T | es el n´umero total
de pasos de deducci´on en T .
(b) Un multiconjunto de n´umeros naturales D(G) =def {| T | | (< τ, T >→ R) ∈
P }, denominado peso de los ´arboles definicionales del objetivo G, donde cada | T | ∈ N es el n´umero total de nodos en el ´arbol definicional T .
(c) El tama˜no | G |0 =def (W(G, M), D(G)).
Definimos un orden de progreso bien fundamentado B sobre parejas (G, M) a partir del tama˜no | G |0 y de los tama˜nos dados en la Definici´on 26:
(G, M) B (G0, M0) ⇔
def (| M |, | G |0, | G |1, | G |2, | G |3, | S |) Âlex
(| M0 |, | G0 |0, | G0 |1, | G0|2, | G0 |3, | S0 |)
donde Âlex es el producto lexicogr´afico de Âmul × Âlex × >N × >N × >N × >N,
Âmul es el orden de multiconjuntos para multiconjuntos sobre N, y >N es el orden
usual sobre N. En [BN98] se proporcionan definiciones concretas para las defini- ciones de estas nociones.
4.3.6 Resultados de correcci´on y completitud fuerte 147 REGLA | M | W(G, M) D (G) | G |0 | G |1 | G |2 | G |3 | S |
SS ºmul ºmul =mul ºlex >N >N >N IM ºmul ºmul =mul ºlex >N >N
EL ºmul ºmul =mul ºlex >N >N >N PF Âmul Âmul
DT ºmul Âmul
FV ºmul ºmul =mul ºlex >N
CSS ºmul ºmul Âmul >lex
DI ºmul ºmul Âmul >lex
DN Âmul Âmul
RRA Âmul Âmul
CS ºmul ºmul =mul ºlex >N >N >N >N AC Âmul Âmul
Figura 4.4: Orden de progreso (G, M) ¤ (Gj, Mj)
Lema 15 (Lema de Progreso) Asumamos un objetivo admisible G que no est´e en
forma resuelta y una respuesta no-trivial con testigo M : (Π2θ) ∈ AnsP(G).
(1) Hay alguna regla de transformaci´on en CDNC (D) que es aplicable a G. (2) Para cualquier regla RL del c´alculo CDNC (D) que sea aplicable a G, existen l
objetivos Gj con respuestas no-triviales y testigos Mj : (Πj2θj) ∈ AnsP(Gj)
(1 ≤ j ≤ l) tales que:
G ``RLGj para cada 1 ≤ j ≤ l,
SolD(Π2θ) ⊆Slj=1SolD(∃\G. Πj2θj) (bajo el supuesto de que el resolu-
tor sea idealmente completo si RL es alguna de las dos transformaciones
CS o SF),
(G, M) B (Gj, Mj) para cada 1 ≤ j ≤ l, donde B es el orden de progreso
bien fundamentado presentado en la Definici´on 26 e ilustrado en la Figura 4.4.
Demostraci´on 15
(1) Si G ≡ ∃U . P2C2S2σ es un objetivo admisible que no est´a en forma re-
suelta, entonces P , o bien C, no puede ser vac´ıo. Vamos a proceder asumiendo gradualmente que ninguna regla, excepto la regla denominada EL, es aplicable al objetivo G, para concluir entonces que es esta regla EL la que puede ser aplicada en ´ultimo caso. En primer lugar, observamos que las reglas de fallo no pueden ser aplicables porque, de otro modo, G podr´ıa no tener respuestas no-triviales, debido al apartado (2) del Lema de Correcci´on. Asumamos ahora
148 4. Resoluci´on de objetivos en el esquema CFLP(D)
que la regla AC no es aplicable. Entonces, C debe ser vac´ıo, y el objetivo ha
de ser de la forma G ≡ ∃U . P2 2S2σ con P no vac´ıo. Asumamos ahora
que las reglas SS, IM, PF, DT, FV no son aplicables sobre suspensiones y que las reglas CSS, DI, DN, RRA no son aplicables sobre producciones de- mandadas. Entonces, debe darse el caso de que cada una de las producciones en P sea de una de las siguientes formas:
(a) hem → R o f enak → R (k ≥ 0) o pen→ R o F ak → R (k > 0), donde
hem es una expresi´on r´ıgida y pasiva pero no un patr´on y en todos los
casos R es una variable producida pero no demandada por el objetivo, en particular, R /∈ odvarD(S).
(b) R0a
k → R (k > 0) o < e, caso(τ, X, [T1, . . . , Tk]) > → R con e|pos(τ,X)
= R0, y ambas, R y R0, son variables producidas y demandadas (debido
a la condici´on de admisibilidad DT y a la Definici´on 25).
Sin embargo, observamos que realmente no pueden aparecer en P producciones de la forma (b) (pues, de otro modo, podr´ıamos encontrar una producci´on de
la forma (b) y otra suspensi´on e → R0 de la forma (a) con R0 una variable
producida y demandada, lo que da lugar a una contradicci´on). As´ı pues, todas las producciones en P han de ser de la forma (a) mencionada m´as arriba.
Consideramos ahora el conjunto χ de estas R’s, esto es, χ =def pvar(G). Si
la regla CS no es aplicable, entonces S debe estar en χ-forma resuelta. Pero entonces, debido al hecho de que χ ∩ odvarD(S) = ∅, y a los requisitos pedidos
a los resolutores de restricciones en el Cap´ıtulo 2, concluimos que χ ∩ var(S)
= ∅. Elegimos ahora una variable R ∈ χ que sea minimal en la relaci´on À+P
(tal elemento minimal ha de existir, debido al n´umero finito de variables que aparecen en G y a la propiedad NC de objetivos admisibles). Tal variable R no puede aparecer ni en ninguna otra producci´on de P ni en la sustituci´on σ del objetivo, por la condici´on de admisibilidad SL, por lo que entonces ha de
verificar que R /∈ var(P 2 C 2 S 2 σ). Por tanto, la regla EL puede ser
aplicada a la producci´on donde R aparece en el objetivo.
(2) Esta parte del Lema de Progreso se demuestra mediante un an´alisis de ca- sos, utilizando la tabla de la Figura 4.4 que muestra el comportamiento de las diferentes transformaciones del c´alculo CLNC (D) con respecto a las distintas componentes del orden lexicogr´afico que definen el orden de progreso. Los de- talles de esta demostraci´on se dan en el Ap´endice A.
¤ Finalmente, mediante la aplicaci´on reiterada del Lema de Progreso, el siguiente re- sultado de completitud para el c´alculo CDNC (D) es f´acil de demostrar. La prueba
4.3.7 Resultados de optimalidad 149