• No se han encontrado resultados

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 SolH2θ) ⊆

S2

i=1SolH(Si2σi). Sin embargo, no existe una ´unica

respuesta computada S2σ para la que se verifique que SolH2θ) ⊆ 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,

SolD2θ) ⊆Slj=1SolD(∃\G. Πjj) (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