Fundamentos L ogicos del Programa de Razonamiento Autom...

135
Fundamentos L´ ogicos del Programa de Razonamiento Autom´ atico OTTER Mat. Favio Ezequiel Miranda Perea Abril de 1999

Transcript of Fundamentos L ogicos del Programa de Razonamiento Autom...

Fundamentos Logicos del Programa de

Razonamiento Automatico OTTER

Mat. Favio Ezequiel Miranda Perea

Abril de 1999

ii

Contenido

¿Que es el Razonamiento Automatico? v

1 Preliminares 11.1 El lenguaje clausular . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Formas Normales . . . . . . . . . . . . . . . . . . . . . . . 21.1.2 El Paradigma . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 El Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . . . 61.3 El Teorema de Compacidad . . . . . . . . . . . . . . . . . . . . . 81.4 Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4.1 El Algoritmo de Unificacion . . . . . . . . . . . . . . . . . 101.5 El Metodo de Davis-Putnam . . . . . . . . . . . . . . . . . . . . 13

2 Resolucion y sus Refinamientos 172.1 Definiciones preliminares . . . . . . . . . . . . . . . . . . . . . . . 172.2 Completud de la Resolucion . . . . . . . . . . . . . . . . . . . . . 182.3 Refinamientos de Resolucion . . . . . . . . . . . . . . . . . . . . . 242.4 Hiperresolucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.1 Normalizacion de Clausulas . . . . . . . . . . . . . . . . . 282.4.2 El Operador de Hiperresolucion . . . . . . . . . . . . . . . 302.4.3 El Teorema de Completud . . . . . . . . . . . . . . . . . . 32

2.5 Hiperresolucion Negativa . . . . . . . . . . . . . . . . . . . . . . . 372.6 UR-Resolucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.7 Resolucion Semantica y el Conjunto de Soporte. . . . . . . . . . 39

2.7.1 Resolucion Semantica . . . . . . . . . . . . . . . . . . . . 392.7.2 La estrategia del conjunto de soporte . . . . . . . . . . . 42

3 La Igualdad 453.1 Demodulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.2 Paramodulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.2.1 S-Interpretaciones y E-Modelos . . . . . . . . . . . . . . . 473.2.2 El Metodo de modificacion . . . . . . . . . . . . . . . . . 543.2.3 El Teorema de Completud . . . . . . . . . . . . . . . . . . 59

3.3 Reescritura de Terminos . . . . . . . . . . . . . . . . . . . . . . . 623.3.1 Sistemas Ecuacionales . . . . . . . . . . . . . . . . . . . . 62

iii

iv CONTENIDO

3.3.2 Sistemas de Reescritura de Terminos . . . . . . . . . . . . 643.3.3 Pares Criticos . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.4 El Metodo de Knuth-Bendix . . . . . . . . . . . . . . . . . . . . 75

4 Subsuncion 794.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.2 Completud de Resolucion bajo Subsuncion . . . . . . . . . . . . . 824.3 Completud de Hiperresolucion bajo Reemplazo . . . . . . . . . . 864.4 El Algoritmo de Stillman para Subsuncion . . . . . . . . . . . . . 90

5 OTTER 955.1 Estrategia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.2.1 El proceso de inferencia de OTTER . . . . . . . . . . . . . 995.2.2 El Modo Autonomo . . . . . . . . . . . . . . . . . . . . . 101

5.3 Literales de Respuesta . . . . . . . . . . . . . . . . . . . . . . . . 1025.4 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Bibliografıa 119

Indice de Sımbolos 122

Indice 126

¿Que es el Razonamiento

Automatico?

Para entender que es un razonamiento automatico primero debemos entenderque es un razonamiento. Razonamiento es el proceso de obtener conclusiones apartir de hipotesis, a las que en adelante nos referiremos como hechos1. Paraque el razonamiento sea correcto las conclusiones deben seguirse inevitablementede los hechos. En esta situacion nos referimos al razonamiento logico, no ra-zonamiento probabilistico o al sentido comun. Las unicas conclusiones que sonaceptables son las consecuencias logicas de las hipotesis proporcionadas.El objetivo del razonamiento automatico es escribir programas de computadoraque sirvan de asistentes en la resolucion de problemas y en responder pregun-tas que requieran del razonamiento. La siguiente pregunta es ¿Como instruir aun programa de razonamiento automatico para que lleve a cabo una tarea es-pecıfica? El primer paso es “explicarle” al programa el problema que se quiereresolver, proporcionandole un conjunto de hechos que modelen la situacion encuestion, para lo cual se utilizan los lenguajes formales de la logica matematica.En nuestro caso esoecıfico utilizaremos la logica de primer orden, aunque cabesenalar que las diversas logicas de orden superior tambien sirven como base aprogramas de razonamiento automatico, tema que no trataremos aquı.

Una vez que el programa conoce el problema, busca nuevos hechos generandoconclusiones a partir de hechos anteriores, aplicando tipos especıficos de razona-miento conocidos como reglas de inferencia. Los hechos obtenidos al aplicar lasreglas de inferencia se agregan a la base de datos de informacion o conocimientode acuerdo con ciertos criterios. La aplicacion de reglas de inferencia a un con-junto de hechos de manera exhaustiva es una manera demasiado ingenua paraatacar un problema. El intento de resolver aun el mas simple de los problemaso acertijos mediante el ataque exhaustivo producirıa una cantidad enorme deinformacion, la mayor parte de ella irrelevante, por lo que es necesario controlarde una manera considerable la aplicacion de reglas de inferencia.Esta necesidad de control se cubre mediante una estrategia de razonamiento.En ajedrez, por ejemplo, jugar simplemente de acuerdo a las reglas sin evaluarlas consecuencias generalmente lleva a perder el juego. En poker, apostar sola-

1Nos referimos unicamente al razonamiento deductivo.

v

vi 0. ¿QUE ES EL RAZONAMIENTO AUTOMATICO?

mente de acuerdo a las posibilidades usualmente causa la perdida del dinero. Laestrategia es un aspecto importante de cada juego y es indispensable para ganar.Similarmente, un programa de razonamiento automatico debe usar estrategiassi quiere tener una oportunidad de resolver el problema que esta atacando. Al-gunas estrategias guıan a los programas de razonamiento en su eleccion de lainformacion o conocimiento en la cual deben enfocarse. Es mas, algunas estrate-gias hacen que el programa explore clases enteras de conclusiones. Incluso hayestrategias que permiten transmitir al programa de razonamiento automaticola intuicion y el conocimiento propios acerca de como resolver un problema.Podemos decir entonces que, un programa de razonamiento automatico aplicareglas de razonamiento continuamente, pero sujetas a diversas estrategias.2

En este trabajo nos ocupamos de analizar algunos de los aspectos descritosanteriormente en el caso particular del programa de razonamiento automaticoOTTER, del laboratorio nacional de Argonne, Ill. USA, principalmente en loque atane a las reglas de inferencia que este ofrece, ası como a su estrategiaprincipal.Para que el lector obtenga una vision general de las aplicaciones de este pro-grama sugerimos leer el artıculo introductorio [Wos98] antes de este trabajo.

2Adaptacion de la introduccion a [WOLB92].

Capıtulo 1

Preliminares

En lo que sigue, se supone un conocimiento medio de la sintaxis y la semanticade la logica de primer orden con igualdad, incluyendo los teoremas mas impor-tantes. Aquı solo presentamos una introduccion al lenguaje de clausulas, asıcomo el teorema de Herbrand y el teorema de Compacidad. Todo concepto nodefinido se supone conocido, pudiendose aclarar cualquier duda en [Mir99] o[SA91].

1.1 El lenguaje clausular

En esta seccion presentamos las definiciones basicas del lenguaje de clausulas,ası como un algoritmo para transformar cualquier formula de un lenguaje deprimer orden al lenguaje clausular.

Definicion 1.1 Una literal es una formula atomica o su negacion.

Las literales constituyen los objetos basicos del lenguaje clausular, a partir delos cuales se construyen las clausulas.

Definicion 1.2 Una clausula es una disyuncion de literales. Recursivamente:

• es una clausula, llamada la clausula vacıa.

• Si L es una literal entonces L es una clausula.

• Si C,D son clausulas entonces C ∨D es una clausula.

• Una expresion es una clausula solo si es de alguna de las formas descritasanteriormente.

Con |C| denotamos al numero de literales de la clausula C. Ademas se observanlas siguientes convenciones: C ∨ ∨D = C ∨D y ∨ = .

1

2 1. PRELIMINARES

Al preguntarnos si una formula o conjunto de formulas tiene o no un modeloa veces es difıcil manipular las expresiones involucradas. Una manera de faci-litar las cosas es obtener un conjunto logicamente equivalente, aunque tal vezesto sea pedir demasiado. Aun ası, podemos restringirnos a obtener un conjuntoque comparta con el conjunto original la propiedad de tener un modelo. Estomotiva la siguiente definicion.

Definicion 1.3 Sean ϕ, ψ dos formulas. Decimos que ϕ, ψ son satisfaciblementeequivalentes cuando ϕ es satisfacible si y solo si ψ es satisfacible. Esta propiedadsera denotada con ϕ ∼sat ψ.

Es claro que ϕ ≡ ψ implica que ϕ ∼sat ψ, mas no al reves.

Ejemplo 1.1 Claramente ∀x P (x, a) ∼sat ∀x P (a, x) pero si interpretamos acomo 0 y P como ≤ en N observamos que ∀x P (x, a) 6≡ ∀x P (a, x).

Ejemplo 1.2 ∃xP (x) ∼sat P (c). Este ejemplo muestra que una formula satis-faciblemente equivalente a la formula existencial dada, resulta mucho mas facilde manejar.

1.1.1 Formas Normales

En esta seccion desarrollaremos diversas formas normales, que se obtienen trans-formando una formula sin perder su satisfacibilidad. Al terminar la seccion po-dremos construir la forma clausular de cualquier formula dada.

Definicion 1.4 Una formula ϕ esta rectificada si y solo si se cumplen las si-guientes condiciones:

1. ϕ no tiene presencias libres y acotadas de una misma variable.

2. ϕ no tiene cuantificadores de la misma variable con alcances ajenos.

3. ϕ no tiene cuantificadores que acotan las mismas presencias de una varia-ble (cuantificadores multiples).

4. ϕ no tiene cuantificadores vacuos.

Siempre es posible transformar, de manera algorıtmica, una formula ϕ en unaformula Rec(ϕ) de manera que Rec(ϕ) esta rectificada y Rec(ϕ) ≡ ϕ.La primera forma normal que presentamos es la llamada forma normal conjun-tiva que consiste en expresar cualquier formula libre de cuantificadores comouna conjuncion de disyunciones de literales, es decir, como una conjuncion declausulas.

1.1. EL LENGUAJE CLAUSULAR 3

Definicion 1.5 Una formula ϕ esta en forma normal conjuntiva, (FNC) siϕ =

i≤n

χi y para cada i, χi =∨

j≤mi

Lij donde para cada i, j, Lij es una literal.

Proposicion 1.1 Para cualquier formula ϕ libre de cuantificadores se puedeencontrar, de manera algorıtmica, una formula ψ en forma normal conjuntivatal que ϕ ≡ ψ. A ψ se le denota con FNC(ϕ).

dem:

Podemos suponer que ϕ solo contiene negaciones y conjunciones. Si ϕ es unaliteral L entonces ya esta en FNC pues L ≡ (L ∨ L) ∧ (L ∨ L). Analogamentesi ϕ es una conjuncion de literales entonces ϕ ya esta en FNC, pues ϕ ≡ ϕ ∧ ϕ.En cualquier otro caso mediante distributividades o la siguiente equivalencia,obtenida con distributividad, se puede obtener la FNC deseada:(α1 ∨ . . . ∨ αn) ∧ (β1 ∨ . . . ∨ βm) ≡ (α1 ∧ β1) ∨ (α1 ∧ β2) ∨ . . . (α1 ∧ βm) ∨ . . . ∨(αn ∧ β1) ∨ (αn ∧ β2) ∨ . . . (αn ∧ βm). a

Definicion 1.6 Una formula de la forma Q1x1 . . . Qnxnχ donde χ es libre decuantificadores y para toda i, Qi ∈ ∀, ∃ se llama forma normal prenex.

Es facil ver que para cualquier formula ϕ existe una formula ψ en forma normalprenex tal que ϕ ≡ ψ. Esta ultima formula se denota con FNP (ϕ).Ahora centramos nuestro interes en los cuantificadores existenciales y buscamosun posible metodo para eliminarlos de una formula, de manera que se preservela satisfacibilidad. Para esto utilizaremos el proceso de skolemizacion1 , el cualconsiste en eliminar los cuantificadores existenciales en favor de testigos de losmismos de la siguiente manera:

∃xϕ se substituye por ϕx/c

∀x1 . . .∀xn∃yϕ se substituye por ∀x1 . . . ∀xnϕy/g(x1, . . . , xn)

donde c es un nuevo sımbolo de constante, llamado constante de Skolem y g es unnuevo sımbolo de funcion llamado funcion de Skolem. Con Sko(ϕ) denotamoscualquier skolemizacion de ϕ que se obtenga al eliminar, mediante este proceso,todos los cuantificadores existenciales de la formula ϕ de izquierda a derecha.

Ejemplo 1.3

ϕ sko(ϕ)

∃yR(y) R(c)

∀x∃yP (x, y) ∀xP (x, g(x))

∀x∀z∃yR(x, g(y), f(z)) ∀x∀zR(x, g(h(x, z)), f(z))

1El nombre es debido a su creador, Thoralf Skolem (1887-1963).

4 1. PRELIMINARES

Si bien en general no es cierto que una formula sea logicamente equivalentea su skolemizacion, con ayuda del siguiente teorema demostraremos que ϕ ∼sat

sko(ϕ).

Lema 1.1 Sean Σ una signatura, A una Σ-interpretacion, s un estado de lasvariables, t un termino y ϕ una formula tal que ϕx/t es admisible. Si a = tA[s]entonces:

A |= ϕx/t[s]⇔ A |= ϕ[s(x/a)]

dem:

Vease [Amo99, Mir99]. a

Teorema 1.1 (AE2 ) ( Forma normal de Skolem).Sea ∀x1 . . .∀xn∃yϕ una Σ-formula cerrada tal que las variables x1, . . . , xn nofiguran acotadas en ϕ (ası que ϕy/g(x1, . . . , xn) es admisible), donde g esun nuevo sımbolo de funcion n-ario. Sea Σg = Σ ∪ g. Entonces todo Σg-modelo de ∀x1 . . . ∀xnϕy/g(x1, . . . , xn) es un modelo de ∀x1 . . . ∀xn∃yϕ. In-versamente, todo Σ-modelo de ∀x1 . . . ∀xn∃yϕ puede expandirse a un Σg-modelode ∀x1 . . . ∀xnϕy/g(x1, . . . , xn)

dem:

La primera afirmacion es inmediata a partir de la validez de la formula

∀x1 . . . ∀xnϕy/g(x1, . . . , xn) → ∀x1 . . . ∀xn∃yϕ

Inversamente, sea A un Σ-modelo de ∀x1 . . . ∀xn∃yϕ, es decir, dado cualquier(a1, . . . , an) ∈ An, donde |A| = A, hay un a ∈ A tal que si s(xi) = ai entoncesA |= ϕ[s(y/a)].Sea G : An −→ A una funcion de eleccion tal que G(a1, . . . , an) = a syss3

A |= ϕ[s(y/a)]. Expandemos A a un Σg-modelo B tal que gB = G. Porultimo, utilizando el lema 1.1 concluimos que para cada estado s se tiene queB |= ϕy/g(x1, . . . , xn), ası que B es modelo de ∀x1 . . . ∀xnϕy/g(x1, . . . , xn).a

Corolario 1.1 Si ϕ es una formula entonces ϕ ∼sat Sko(ϕ)

dem:

Es consecuencia inmediata del teorema. a

A partir de todos los resultados anteriores podemos construir para cada formulasu forma normal de Skolem.

2AE denota el uso del axioma de eleccion.3De ahora en adelante “syss”, abrevia la frase “si y solo si”.

1.1. EL LENGUAJE CLAUSULAR 5

Definicion 1.7 Una formula cerrada, es decir sin variables libres, de la forma∀x1 . . . ∀xnϕ, donde ϕ no tiene cuantificadores y esta en forma normal conjun-tiva, es una formula en forma normal de Skolem.

La condicion de que ϕ este en forma normal conjuntiva no es necesaria perofacilita las cosas.

Teorema 1.2 Para cada formula ϕ podemos construir efectivamente una for-mula ψ en forma normal de Skolem de manera que ϕ ∼sat ψ. Esta ultimaformula se denota con FNS(ϕ).

dem:

Es consecuencia inmediata de todos los resultados anteriores de esta seccion. a

Por ultimo obtenemos la forma clausular de una formula, que consiste simple-mente en eliminar los cuantificadores universales en la forma normal de Skolemrespectiva.

Definicion 1.8 Sea ϕ una formula tal que FNS(ϕ) = ∀x1 . . . ∀xnχ. A χ se lellama la forma clausular de ϕ y se denota con Cl(ϕ).

Observemos que Cl(ϕ) es una conjuncion de clausulas libre de cuantificadores;ademas es inmediato que existe un proceso efectivo para construir Cl(ϕ) y queCl(ϕ) ∼sat ϕ. Uno de nuestros intereses es probar la no satisfacibilidad dealgunos conjuntos de formulas, por lo que habremos de trabajar con las respec-tivas formas clausulares que nos ofrecen diversas ventajas, como caracterizarciertas propiedades semanticas mediante propiedades sintacticas.Para un estudio a fondo acerca de procedimientos para obtener formas clausu-lares vease [Sab88].

1.1.2 El Paradigma

Existen dos maneras de cimentar la automatizacion del razonamiento. Una deellas consiste en estudiar y emular a la gente, lo cual se conoce actualmentecomo razonamiento orientado en personas (vease [WV94]); la otra consiste enacudir a la logica.Entre los paradigmas para el razonamiento automatico basados en logica uti-lizaremos el paradigma del lenguaje clausular. Ademas de basarse en el uso declausulas para representar informacion, el paradigma del lenguaje clausular -encontraste con los paradigmas basados en la programacion logica- se basa en laretencion de clausulas, el uso de reglas de inferencia, ası como en ciertas estrate-gias y otros procedimientos. De manera mas especıfica podemos distinguir losiguiente:

• Retencion de clausulas derivadas anteriormente.

6 1. PRELIMINARES

• Uso de diversas reglas de inferencia para obtener conclusiones a partir dela descripcion de un problema.

• Estrategias para restringir la obtencion y retencion de clausulas, ası comopara controlar la aplicacion de reglas de inferencia.

• Demodulacion4 para simplificar y estandarizar conclusiones.

• Subsuncion5 para eliminar una clase importante de conclusiones que sonlogicamente mas debiles que otras retenidas anteriormente.

El interes por implementar el paradigma del lenguaje clausular proviene de lanecesidad de probar teoremas en diversas areas de la matematica. Influenciadossin duda por la practica constante en matematicas de demostrar lemas quese usaran despues en la demostracion de un teorema, los investigadores hanasumido tacitamente que la mejor manera de atacar un problema es reteniendoconclusiones derivadas durante el intento de completar una tarea dada.Para una introduccion avanzada al tema vease [WV94].

1.2 El Teorema de Herbrand

Las formulas en forma normal de Skolem son formulas cerradas y cuantificadasuniversalmente. El teorema de Herbrand muestra algunas de las ventajas detales formulas y conjuntos de formulas.

Definicion 1.9 Sea Σ una signatura con al menos una constante. Una in-terpretacion o estructura de Herbrand es una Σ-interpretacion A tal que eluniverso de A es el conjunto de terminos cerrados de Σ (es decir, | A |= t |t es un Σ−termino cerrado), llamado el universo de Herbrand de Σ; la inter-pretacion de cada sımbolo de constante c ∈ Σ es cA = c y la interpretacion delos sımbolos funcionales es:

fA(t1, . . . , tn) = f(t1, . . . , tn)

Un Modelo de Herbrand para un conjunto de formulas M es una estructura deHerbrand que es un modelo de M .

Observese que lo unico que no esta determinado en una estructura de Herbrandes la interpretacion de los sımbolos de predicado y que los sımbolos de constantey de funcion se interpretan como ellos mismos. Por esta razon a los modelos deHerbrand tambien se les llama modelos sintacticos.

El siguiente lema dice como se evaluan los terminos en una estructura de Her-brand:

4Este termino se explicara mas adelante.5Idem.

1.2. EL TEOREMA DE HERBRAND 7

Lema 1.2 Sean Σ una signatura con al menos una constante y A una Σ-interpretacion de Herbrand. Sean t un termino con variables x1, . . . , xn y sun estado de las variables tal que s(xi) = ri donde ri es un termino cerrado,para 1 ≤ i ≤ n. Entonces:

tA[s] = tx1/r1, . . . , xn/rn

En particular si t es un termino cerrado, tA[s] = t

dem:

(Por induccion sobre los terminos). Ejercicio. a

El lema anterior dice que la interpretacion de terminos en una estructura deHerbrand consiste en aplicar una substitucion al termino, y que los terminoscerrados se interpretan como ellos mismos.

Definicion 1.10 Sean ϕ una formula y σ una sustitucion. Decimos que ϕσ esuna instancia cerrada de ϕ syss ϕσ no contiene variables libres.

Definicion 1.11 Sean Σ una signatura con al menos una constante y M unconjunto de formulas universales cerradas. El conjunto de instancias cerradasϕσ donde ∀x1 . . .∀xnϕ pertenece a M se llama conjunto de instancias cerradasde M y se denota IC(M) .

Observese que si M consiste de formas normales de Skolem entonces

IC(M) = Cl(ϕ)σ | ϕ ∈M y Cl(ϕ)σ es una instancia cerrada

es decir el conjunto de instancias cerradas de M es el conjunto de instanciascerradas de las formas clausulares de las formulas de M .

A continuacion presentamos el Teorema Clasico de Herbrand en una formamoderna:

Teorema 1.3 (Teorema de Herbrand).Sean Σ una signatura con al menos una constante y M un conjunto de Σ-enunciados universales. Las siguientes condiciones son equivalentes:

(a). M tiene un modelo.

(b). M tiene un modelo de Herbrand.

(c). IC(M) tiene un modelo.

(d). IC(M) tiene un modelo de Herbrand.

8 1. PRELIMINARES

dem:

Debido a que todo modelo de Herbrand de M es un modelo de M , las implica-ciones b⇒ a y d⇒ c son triviales.La validez universal de la formula ∀x1 . . .∀xnϕ→ ϕx1/t1, . . . , xn/tn hace in-mediatas las implicaciones a⇒ c y b⇒ d. Ası que basta probar la implicacionc⇒ b.

Sea A un modelo de IC(M). Para definir una estructura de Herbrand B, bastadecir como se interpretan los sımbolos de predicado, pues por definicion lossımbolos de constante y de funcion se interpretan como ellos mismos. Si P esun sımbolo de predicado n-ario, entonces definimos:

PB = (t1, . . . , tn) | A |= P (t1, . . . , tn)

Observese que, por construccion de B, se cumple que:

A |= P (t1, . . . , tn)⇔ B |= P (t1, . . . , tn)

es decir, A y B validan a las mismas formulas atomicas cerradas. Dicho re-sultado se puede extender a cualquier formula cerrada libre de cuantificadoresmediante induccion sobre formulas (ejercicio).Por ultimo veamos que B es modelo de M . Sea ∀x1 . . . ∀xnϕ una formula deM . Queremos demostrar que B |= ∀x1 . . .∀xnϕ, lo cual es equivalente a mostrarque para cualesquiera t1, . . . , tn ∈ |B|, B |= ϕx1/t1, . . . , xn/tn.6 Pero estaultima afirmacion es equivalente, utilizando el ultimo ejercicio, a lo siguiente:

Para cualesquiera t1, . . . , tn ∈| B |, A |= ϕx1/t1, . . . , xn/tn

lo cual es cierto pues ϕx1/t1, . . . , xn/tn pertenece a IC(M) y, por hipotesis,A es modelo de IC(M). De manera que B |= ∀x1 . . .∀xnϕ y B es un modelode Herbrand de M . a

1.3 El Teorema de Compacidad

En esta seccion enunciamos el teorema de Compacidad, el cual es crucial enla automatizacion del razonamiento, ya que permite reducir el problema de lasatisfacibilidad de un conjunto arbitrario de formulas al de la satisfacibilidad desus subconjuntos finitos.Enunciamos el teorema para el caso de formulas cerradas y libres de cuantifi-cadores, es decir, formulas sin variables.

Teorema 1.4 (AE) (Compacidad para conjuntos de formulas cerradas y libresde cuantificadores).Sean Σ una signatura y M un conjunto de Σ-formulas cerradas y libres decuantificadores. Entonces, M tiene un modelo si y solo si todo subconjuntofinito de M tiene un modelo.

6Recuerdese que |B| = t | t es un Σ − termino cerrado

1.3. EL TEOREMA DE COMPACIDAD 9

dem:

La demostracion utiliza el lema de Konig dependiente del axioma de elecciony puede verse en [SA91]. Otra demostracion clasica, que sigue el metodo deHenkin y tambien depende del axioma de eleccion puede verse en [Amo99]. a

Ahora, a partir de los teoremas de Herbrand y de Compacidad restringido,demostramos el teorema general de Compacidad.

Teorema 1.5 (AE) (Teorema de Compacidad).Sean Σ una signatura y M un conjunto de Σ-formulas cerradas. Entonces Mtiene un modelo si y solo si todo subconjunto finito de M tiene un modelo.

dem:

⇒ ) Es trivial.⇐ ) Supongamos que M no tiene un modelo.Sea M ′ = FNS(M), el conjunto de formas normales de Skolem de los elemen-tos de M , donde para cada ϕ ∈ M se uso un juego diferente de funciones deSkolem. Puesto que ϕ ∼sat FNS(ϕ), se tiene que M ′ no tiene modelo. Por elteorema de Herbrand, concluimos que IC(M ′) no tiene modelo y como IC(M ′)consta de formulas cerradas y libres de cuantificadores, utilizando el teoremaanterior, concluimos que existe un subconjunto finito E ′ ⊆ M ′ tal que E′ notiene modelo. Pero tal E ′ tiene que ser de la forma E ′ = FNS(E), donde E esalgun subconjunto finito de M , de manera que E no puede tener modelo. a

Corolario 1.2 Sean Σ una signatura y M un conjunto de Σ-formulas. En-tonces, M es satisfacible si y solo si todo subconjunto finito de M es satisfacible.

dem:

Utilizar que para cualquier formula ϕ se tiene que ϕ ∼sat ∃ϕ. a

El siguiente corolario, proporciona otra forma del teorema de Herbrand.

Corolario 1.3 Sean Σ una signatura con al menos una constante y M un con-junto de Σ-formulas cerradas y universales. Sea ∃xψ una formula cerrada, conψ libre de cuantificadores. Las siguientes condiciones son equivalentes:

1. M |= ∃xψ

2. Existe un numero finito de terminos cerrados, t1, . . . , tn tales queM |= ψx/t1 ∨ . . . ∨ ψx/tn

dem:

Vease [Mir99, SA91]. a

Para la descripcion de procedimientos de demostracion automatica que se basanen esta version del teorema de Herbrand vease [AM98, Ram96].

10 1. PRELIMINARES

1.4 Unificacion

Los sistemas de programacion logica tienen dos puntos de partida, la regla deresolucion que analizaremos en el siguiente capıtulo y el proceso de unificacion,que consiste en encontrar, dado un conjunto de literales o terminosW , una subs-titucion σ de tal forma que el conjunto imagen Wσ conste de un solo elemento.Como lo veremos mas adelante, ademas de sus aplicaciones en programacionlogica, la unificacion tambien es importante para los sistemas de reescritura determinos y para el razonamiento automatico, al ser la herramienta principalpara el funcionamiento correcto de la regla de resolucion. Para un panoramageneral del tema sugerimos consultar [BS94, Llo87]

Definicion 1.12 Una expresion es una literal o un termino.

Definicion 1.13 Sea W un conjunto no vacıo de expresiones. Un unificadorde W es una substitucion σ tal que |Wσ |= 1.

Ejemplo 1.4 SeaW = P (x, f(y)), P (x, f(x)), P (u, v) entonces la sustitucionσ = x/a, y/a, u/a, v/f(a) es un unificador de W , ya que Wσ = P (a, f(a))

Un conjunto de formulas puede tener una infinidad de unificadores o ninguno.Dado un conjunto finito de formulas W , es decidible mediante un algoritmo siW es unificable o no; ademas, si W es unificable el algoritmo proporciona ununificador llamado unificador mas general.

Definicion 1.14 Un unificador σ de un conjunto de formulas W , se llama uni-ficador mas general ( abreviado umg ) si para cada unificador τ de W , existeuna sustitucion ϑ, tal que σϑ = τ .

Ejemplo 1.5 Sean W = f(g(a, x), g(y, b)), f(z, g(u, v)), τ = x/a, z/g(a, a)y/u, v/b, σ = z/g(a, x), y/u, v/b. Entonces τ y σ son unificadores de W yσ resulta ser umg; en particular si ϑ = x/a entonces σϑ = τ .

1.4.1 El Algoritmo de Unificacion

Definicion 1.15 Sea W 6= ∅ un conjunto de expresiones. Definimos el con-junto discorde de W como sigue:Se localiza la posicion del sımbolo mas a la izquierda en el que al menos dos ex-presiones de W difieren y se extrae de cada expresion de W la subexpresion queinicia en esta posicion; el conjunto DW de dichas subexpresiones es el conjuntodiscorde de W .

Ejemplo 1.6 Si W = f(x, y), g(a) entonces DW = W .

Ejemplo 1.7 Si W = P (x, f(y)), P (x, f(a)), P (x, f(h(y))) entonces DW =y, a, h(y).

A continuacion presentamos el algoritmo de unificacionAU :

1.4. UNIFICACION 11

Precondicion: k = 0, σ0 = ∅

while Wσk no sea unitario do

Hallar el conjunto discorde Dk de Wσk;if existen v, t ∈ Dk tales que v no figura en t then

σk+1 := σkv/t;k := k + 1

else

write(’W no es unificable’);halt

end if

end while

Postcondicion: σk es umg de W o W no es unificable.

Para finalizar la seccion haremos el analisis del algoritmo de unificacionmostrando que la especificacion:

k = 0, σ0 = ∅ AU σk es umg de W o W no es unificable

es correcta.

Lema 1.3 (Terminacion de AU)Si m es el numero de variables que figuran en W , entonces el maximo k tal queσk es calculado en AU es menor o igual que m.

dem:

Observese que todas las variables que figuran en σk ,Wσk, Dk son variables deW , de manera que AU no introduce variables nuevas.Al calcular σk+1 := σkv/t, la variable v que figuraba en W se sustituye porun termino que no la contiene, por lo que al calcular Wσk se reduce el numerode variables en uno y como hay m variables, este proceso se puede efectuar a lomas m veces. a

Lema 1.4 (Correctez parcial para un conjunto no unificable)Si W no es unificable, AU termina con el mensaje ’W no es unificable’.

dem:

Como Wσk no es nunca un unitario y AU siempre termina, por el lema anterior,necesariamente debe terminar con el mensaje requerido. a

Lema 1.5 (Las sustituciones intermedias son mas generales)Sea ϑ un unificador de W . Si σk es la sustitucion obtenida en la k-esimaiteracion de AU , entonces existe una sustitucion τk tal que ϑ = σkτk.

dem:

Induccion sobre k.

12 1. PRELIMINARES

• k = 0 es obvio, al tomar τ0 = ϑ.

• Hipotesis de Induccion: Existe un τk tal que ϑ = σkτk.

• Paso inductivo. Basta analizar el caso en que Wσk no es un unitario, puessi lo fuera el algoritmo habrıa terminado. Como Wσk no es unitario, AUproduce el conjunto discorde Dk de Wσk. Por HI, tenemos que ϑ = σkτky como ϑ unifica a W , se sigue que τk unifica a Dk. Por lo tanto debeexistir una variable v ∈ Dk. Sea t cualquier otro termino de Dk. Sabemosque v no figura en t, pues vτk = tτk. Sea σk+1 = σkv/t. Definimosτk+1 = τk \ v/vτk. Debemos a considerar 2 casos:

1. vτk 6= v. Entonces

τk = v/vτk ∪ τk+1

(vτk = tτk)= v/tτk ∪ τk+1

(tτk = tτk+1)= v/tτk+1

2. vτk = v. En este caso se tiene que Dk solo tiene variables comoelementos, puesto que τk unifica a Dk; ademas τk+1 = τk, por lo queτk = v/tτk+1.

Ası que en cualquier caso, τk = v/tτk+1, de donde se sigue que ϑ =σkτk = σkv/tτk+1 = σk+1τk+1.

a

Lema 1.6 (Correctez Parcial para un conjunto unificable)Si W es unificable entonces la ultima sustitucion generada por AU es un umgde W .

dem:

Sean ϑ un unificador de W y σm la ultima sustitucion calculada por AU . Porel lema 1.5 sabemos que existe τm tal que ϑ = σmτm. Como Wϑ es unitario,se sigue que τm unifica a Wσm, es decir, se cumple la condicion del ciclo while;pero como ϑ = σmτm y ϑ era arbitrario, concluimos que σk es umg de W . a

Teorema 1.6 (Correctud total de AU)Dado un conjunto finito de expresiones W , el algoritmo AU termina dandocomo resultado el mensaje ’W no es unificable’, en el caso en que W no esunificable, y un umg de W en el caso en que W es unificable.

dem:

Es consecuencia inmediata de los lemas 1.3, 1.4, 1.5, 1.6. a

1.5. EL METODO DE DAVIS-PUTNAM 13

1.5 El Metodo de Davis-Putnam

El primer demostrador automatico de teoremas para la logica de primer or-den fue escrito por Gilmore en 1960 [Gil60]; estaba esencialmente basado en elteorema de Herbrand y reducıa el problema de no satisfacibilidad a la no satis-facibilidad proposicional. Tal metodo tambien puede consultarse en [Lei97].Dicha implementacion no pudo obtener pruebas de algunas formulas simples dela logica de predicados. Una posible mejora en el metodo consistio en evitar latransformacion a forma normal disyuntiva, desarrollando metodos de decisionpara satisfacibilidad en forma normal conjuntiva. Una mejora de este tipo fuelograda poco despues por Davis y Putnam [DP60].Al igual que el metodo de Gilmore, el metodo de Davis-Putnam (DP) se basaen la construccion sucesiva de conjuntos de clausulas cerradas, de los cualesse prueba su satisfacibilidad. Aunque no es adecuado para la logica clausalde predicados, es eficiente para probar la satisfacibilidad de formas normalesconjuntivas proposicionales; ademas, lo usaremos mas adelante como una herra-mienta para algunas demostraciones.

Definicion 1.16 Una clausula C se llama reducida si cada literal en ella figuraa lo mas una vez.

Definicion 1.17 Si L es una literal, definimos la literal contraria de L, deno-tada Lc, como sigue:

Lc =

¬P si L = P

P si L = ¬P

donde P es un predicado. Las literales L y Lc son complementarias.

A continuacion definimos las cuatro reglas del metodo de Davis-Putnam.Sea S un conjunto de clausulas cerradas y reducidas.

1. Regla de la Tautologıa (RT). Elimine de S todas las clausulas que contienenliterales complementarias, es decir, las tautologıas.

2. Regla de la Clausula Unitaria (RCU). Si C ∈ S y C es una clausulaunitaria, entonces elimine de S todas las clausulas que contengan a C yelimine Cc de las clausulas restantes.

3. Regla de la Literal Pura (RLP). Si D ⊆ S es un conjunto tal que existeuna literal L que figura en todas las clausulas de D y Lc no figura en S,entonces reemplace S por S− D.

4. Regla de Descomposicion (RD). Si existe una literal L tal que S se puededescomponer como S = A1, . . . , An, B1, . . . , Bm ∪ R y se cumplen lassiguiente condiciones:

(a) En R no figura ni L ni Lc.

(b) Todas las Ai contienen a L pero no a Lc.

14 1. PRELIMINARES

(c) Todas las Bj contienen a Lc pero no a L.

entonces reemplace S por los siguientes conjuntos

S1 = A′1, . . . , A

′n ∪ R

S2 = B′1, . . . , B

′m ∪ R

donde A′i = Ai \ L y B′

j = Bj \ Lc.7

Definicion 1.18 Sea S un conjunto de clausulas cerradas y reducidas. Con S∼

denotamos al conjunto que resulta al aplicar a S alguna de las reglas RT, RCU,RLP. Con S1, S2 denotamos a los conjuntos que resultan al aplicar a S la reglaRD.

El siguiente teorema asegura que las reglas anteriores son correctas

Teorema 1.7 (Las reglas de DP son correctas). Sea S un conjunto de clausulascerradas y reducidas. Entonces:

1. Si alguna de las reglas RT,RCU,RLP es aplicable, S ∼sat S∼.

2. Si la regla RD es aplicable, entonces, S es satisfacible si y solo si S1 essatisfacible o S2 es satisfacible.

dem:

la demostracion es rutinaria y se puede consultar en [Lei97]. a

Definicion 1.19 Un arbol de Davis-Putnam o DP-arbol T para un conjuntofinito de clasulas cerradas reducidas S es un arbol con las siguientes propiedades:

1. Los nodos de T son conjuntos finitos de clausulas reducidas.

2. Los nodos de T son de grado menor o igual que 2, puesto que las reglasde DP, reemplazan un conjunto a lo mas con dos conjuntos.

3. La raız es S.

4. Si S′ es un nodo de grado 1 y (S′, S′′) es un arco en T , entonces S′′ = S′∼

para alguna aplicacion de RT,RCU o RLP.

5. Si S′ es un nodo de grado 2 y (S′,M), (S′,N) son arcos en T (en ese orden)entonces M = S′

1 y N = S′2 para alguna aplicacion de RD.

Un DP-arbol para S es un DP-arbol de decision para S si todas sus hojas son o alguna hoja es ∅.

7La notacion C \ L indica que se elimine la literal L de la clausula C.

1.5. EL METODO DE DAVIS-PUTNAM 15

Ejemplo 1.8 Sea D = P ∨Q,R ∨ S,¬R ∨ S,R ∨ ¬S,¬R ∨ ¬S, P ∨ ¬Q∨ ¬PAplicando RT a D obtenemos D1 = D− P ∨ ¬Q ∨ ¬P.Aplicando RLP a D1 obtenemos D2 = R ∨ S,¬R ∨ S,R ∨ ¬S,¬R ∨ ¬S.Aplicando RD a D2 obtenemos D21 = R,¬R = D22.Aplicando RCU a D21,D22 obtenemos .De manera que el arbol T cuyos conjuntos de nodos y arcos son

Nod(T ) = D,D1,D2,D21,D22,

Ar(T ) = (D,D1), (D1,D2), (D2,D21), (D2,D22)(D21, ), (D22, )

es un DP-arbol de decision para D.

Definicion 1.20 Sea T un DP-arbol de decision para S. Decimos que T pruebala satisfacibilidad de S si hay una hoja que es ∅, y decimos que T prueba la nosatisfacibilidad de S si todas las hojas son .

Resulta evidente a partir de la definicion anterior que encontrar un DP-arbol de decision para S de manera algorıtmica decide su satisfacibilidad. Parafacilitar la prueba de los teoremas de correctud y completud del metodo supon-dremos s.p.g. que S no contiene tautologıas. Observese que RCU, RLP y RD nointroducen tautologıas, de manera que la eliminacion de las tautologıas puedeconsiderarse como un paso previo. Decimos que un conjunto de clausulas estataut-reducido si no contiene tautologıas.

Ahora ya podemos formular los teoremas de correctud y completud para elmetodo de Davis-Putnam.

Teorema 1.8 (Correctud de DP). Sea S un conjunto de clausulas cerradas re-ducidas y taut-reducidas y sea T un DP-arbol de decision para S. Si T prueba lasatisfacibilidad (no satisfacibilidad) de S entonces S es en realidad satisfacible(no satisfacible).

dem:

Resulta inmediato mediante induccion sobre el numero de nodos de T , utilizandoel hecho de que las reglas de DP son correctas. a

Teorema 1.9 (Completud de DP).Si S es un conjunto finito de clausulas cerradas,reducidas y taut-reducidas y si Tes un DP-arbol para S, entonces T puede extenderse a un DP-arbol de decisionT ′.

dem:

Por induccion sobre el numero de atomos que figuran en S, denotado con at(S).

• Base de la induccion. at(S) = 0. En tal caso tenemos que S = ∅ o S = y en ambos casos tenemos que la raız S forma un DP-arbol de decision.

16 1. PRELIMINARES

• HI. Para at(S) ≤ n

• Paso Inductivo. at(S) = n+ 1. Vamos a distinguir dos casos:

1. T consiste solamente de la raız S. Como at(S) 6= 0 entonces debehaber una clausula en S que contiene una literal L. Si Lc no figuraen S entonces RLP es aplicable. Si L figura como clausula unitariaentonces RCU es aplicable. Si L no figura ni como clausula unitariani como literal pura entonces RD es aplicable. Ası, alguna de lasreglas RCU, RLP, RD es aplicable y, de la definicion de las reglas, sesigue que at(S∼) ≤ n o at(S1), at(S2) ≤ n.Considerense las siguientes extensiones de T a T ′:

Nod(T ′) = S, S∼, Ar(T ′) = (S, S∼) o

Nod(T ′) = S, S1, S2, Ar(T ′) = (S, S1), (S, S2).

Por HI cualquier DP-arbol con raız S∼ (S1, S2 respectivamente) puedeextenderse a un DP-arbol de decision. En particular, T puede exten-derse a un DP-arbol de decision, agregando a S como nueva raız delarbol dado por la HI.

2. T contiene arcos.Sean D1, . . . ,Dk todas las hojas de T . Como las Di son hojas, en-tonces at(Di) ≤ n. Sean Ti los arboles que constan unicamente de laraız Di. Por HI, cada Ti puede extenderse a un DP-arbol de decisionT ′

i . Sea T ′ el arbol obtenido sustituyendo en T las hojas Di por losarboles T ′

i . Por construccion T ′ es una extension de T . Ademas comolas hojas de T ′ son las hojas de los T ′

i , entonces T ′ es un DP-arbolde decision.

aEn realidad el teorema anterior es un resultado de completud fuerte que

muestra que sin importar como empecemos a aplicar las reglas de DP, siempreobtendremos un DP-arbol de decision. Esto significa que cualquier DP-arbolque no se pueda extender propiamente es en realidad un DP-arbol de decision.

En este capıtulo hemos presentado las herramientas necesarias para el estudiode la regla de resolucion ası como una introduccion al paradigma del lenguajeclausular, el cual es utilizado por OTTER.El resultado de mayor relevancia derivado de este capıtulo consiste en la re-duccion del problema de busqueda de un modelo para un conjunto de formulasa la busqueda de un modelo para los subconjuntos finitos del conjunto de ins-tancias cerradas de las formas clausulares de las formulas del conjunto original.Sin embargo, tal reduccion esta muy lejos de ser practica, aun cuando tenemosmetodos de decision como el de Davis-Putnam.En el siguiente capıtulo estudiamos la regla de resolucion binaria, que nos ayu-dara a optimizar la solucion del problema; tambien estudiaremos los refinamien-tos de resolucion, especialmente aquellos que generan procesos implementadosen OTTER.

Capıtulo 2

Resolucion y sus Refinamientos

2.1 Definiciones preliminares

Nuestro proposito es desarrollar el principio de resolucion con unificacion, pre-sentando su completud como un procedimiento de refutacion. Empezaremoscon algunas definiciones:

Definicion 2.1 Una substitucion σ es una permutacion si σ es inyectiva yran σ ⊂ V AR, es decir, el rango de σ consta de variables. Una permutacion esun renombre de un conjunto de expresiones E, si V (E) ∩ ran σ = ∅.1

Definicion 2.2 Una clausula C es una variante de una clausula D , si existeuna permutacion σ tal que Cσ = D.

Definicion 2.3 Sean C,D clausulas y C1, D1 variantes respectivas tales queV (C1) ∩ V (D1) = ∅. Supongamos que C1 : A ∨ L ∨ B, D1 : E ∨M ∨ F de talforma que Lc,M es unificable mediante el umg σ.Entonces la clausula (A ∨ B ∨ E ∨ F )σ es un resolvente binario de C y D. Elatomo de L es el atomo sobre el cual se resolvio.

Definicion 2.4 Sea C una clausula y A un conjunto no vacıo de literales quefiguran en C. Si A es unificable mediante el umg µ entonces Cµ se llama unainstancia general o G-instancia de C.

Definicion 2.5 Sea C una clausula. Si C ′ se obtiene de C omitiendo algunasliterales multiples, se dice que C ′ es un reducto de C.

Definicion 2.6 Un reducto de una G-instancia de una clausula C es un factorde C. Un factor C ′ es no trivial si el numero de literales de C ′ es estrictamentemenor que el numero de literales de C.

1V (E) es el conjunto de variables de E.

17

18 2. RESOLUCION Y SUS REFINAMIENTOS

Observese que los conceptos de reducto y factor coinciden en clausulas cerradasy que todo reducto es un factor trivial.

Definicion 2.7 Sean C,D clausulas con factores C ′, D′ respectivamente. Si Ees un resolvente binario de C ′, D′ decimos que E es un resolvente de C y D.

Por ultimo definimos formalmente lo que es una R-derivacion o deduccion:

Definicion 2.8 Sea S un conjunto de clausulas y C una clausula. Una sucesionde clausulas C1, . . . , Cn es una R-derivacion de C a partir de S si se cumple losiguiente:

1. Cn = C

2. Para toda i = 1, . . . , n sucede alguna de las siguientes condiciones:

(a) Ci es variante de alguna clausula de S

(b) Ci es resolvente de Cj , Ck con j, k < i

Notacion: S `RC significa que existe una R-deduccion de C a partir de S. Si

S `R

decimos que se obtiene una R-refutacion de S.

2.2 Completud de la Resolucion

La prueba de completud refutacional de la resolucion consiste esencialmenteen la tecnica de “levantamiento”. Levantamiento es el reemplazo de una R-derivacion por una R-derivacion mas general. Esto significa que cada instan-ciacion puede ser reemplazada por un umg.

Definicion 2.9 Sean Γ : C1, . . . , Cn, ∆ : D1, . . . , Dn R-derivaciones. Decimosque Γ es mas general que ∆ si existen sustituciones ϑ1, . . . , ϑn tales que Ciϑi =Di, esto lo denotamos con Γ ≤s ∆. En particular si C,D son clausulas definimosC ≤s D si existe una sustitucion σ tal que Cσ = D.

Los siguientes dos lemas muestran que la propiedad de levantamiento secumple para la factorizacion y la resolucion.

Definicion 2.10 Si X ′ es un factor de una clausula X , se define el grado deX ′ como el numero de literales que permanecen en X al eliminar X ′, lo cual sedenota con |X |− |X ′|. Decimos que X ′ es un k-factor de X syss |X |− |X ′| = k

Teorema 2.1 (Los factores de instancias son instancias de factores).Sean C,D clausulas tales que C ≤s D.Si F es un factor de D entonces existe un factor E de C tal que E ≤s F .

dem:

Induccion sobre el grado del factor F .

2.2. COMPLETUD DE LA RESOLUCION 19

• Base de la Induccion. Supongamos que F es un factor trivial.En este caso tenemos, por definicion, que F = Dσ donde Dσ es unaG-instancia de D. Ademas por hipotesis hay una sustitucion λ tal queD = Cλ. Por lo tanto, si tomamos E = C, tenemos que E es un factor(trivial) de C y Eλσ = F , es decir, E ≤s F .

• Hipotesis de Induccion: Si F es un k-factor de D entonces existe un factorE de C tal que E ≤s F .

• Paso Inductivo: Supongamos que F es un (k+1)-factor de D.Por definicion tenemos que |D| − |F | = k + 1. Ahora bien, como F es unreducto de una G-instancia de D y al eliminar F de D, en D quedan k+1literales, entonces podemos eliminar primero k de esas k+1 literales en Dobteniendo ası un k-factor F ′ de D tal que F es un 1-factor de F ′. Es masF es un reducto de F ′.Ası F ′ debe ser de la forma F ′ = F1 ∨ L ∨ F2 ∨ L ∨ F3 y s.p.g. F =F1 ∨ L ∨ F2 ∨ F3.Aplicando la hipotesis de induccion al k-factor F ′ de D existe un factorE′ de C tal que E′ ≤s F

′, digamos que E′ = E1 ∨M1 ∨ E2 ∨M2 ∨ E3,donde hay una una λ tal que

E1λ = F1, E2λ = F2, E3λ = F3, M1λ = M2λ = L

observemos dos cosas:

1. M1,M2 pueden ser literales diferentes, pero λ unifica a M1,M2.

2. E′ es un reducto de una G-instancia de C, digamos que es reductode Cτ .

Debemos analizar dos casos:

– M1 = M2. En este caso definimos E = E1 ∨ M1 ∨ E2 ∨ E3, asıclaramente E es un reducto de E ′ y como E′ es factor de C ( porla hipotesis de induccion), entonces E es un factor de C, tal queEλ = F , ∴ E ≤s F .

– M1 6= M2. En este caso en C figuran dos literales K1,K2 tales queK1τ = M1,K2τ = M2 (por la observacion 2). Obviamente τ nounifica a M1,M2, pero como λ sı unifica a este conjunto entoncesexiste un umg σ de M1,M2 tal que σ ≤s λ. Sea ϑ tal que σϑ = λ.Por definicion sabemos que Cτσ es una G-instancia de C. Es masexiste una literal L0 tal que M1σ = M2σ = L0 y L0ϑ = L.Sean E′

i = Eiσ para i = 1, 2, 3 y tomemos E ′′ = E′1∨L0∨E′

2∨L0∨E′3.

De esta manera E′′ es un reducto de Cτσ, ası que E ′′ es un factorde C y como E′ ≤s F

′ ( i.e., E′λ = F ′ ) y σ es umg de M1,M2,entonces E′′ ≤s F

′ (es facil cerciorarse de que E ′′ϑ = F ′ 2).Por ultimo hagamos

E = E′1 ∨ L0 ∨ E

′2 ∨ E

′3

2E′′ϑ = E′σϑ = E′λ = F ′

20 2. RESOLUCION Y SUS REFINAMIENTOS

entonces E es un reducto de E ′′ tal que E ≤s F . PeroE es ademas unfactor de C, pues reductos de factores son factores. Lo cual concluyela prueba.

a

Lema 2.1 (Lema del levantamiento).Si C,D,C ′, D′ son clausulas tales que C ≤s C

′ y D ≤s D′ y E′ es un resolvente

binario de C ′ y D′, entonces existe un resolvente binario E de C y D tal queE ≤s E

′.

dem:

Supongamos s.p.g. que V (C) ∩ V (D) = ∅ = V (C ′) ∩ V (D′).

Por hipotesis existen λ, µ tales que Cλ = C ′ y Dµ = D′. Sean C ′ = C ′1∨L

′∨C ′2

y D′ = D′1 ∨M

′ ∨D′2, entonces E′ = (C ′

1 ∨C′2 ∨D

′1 ∨D

′2)σ donde σ es umg de

L′c,M ′

Por la forma en que estan dadas C ′, D′ tenemos que C = C1 ∨ L ∨ C2 y D =D1 ∨M ∨D2, donde Lλ = L′, Mµ = M ′ y Ciλ = C ′

i , Diµ = D′i.

Como V (C) ∩ V (D) = ∅ entonces la sustitucion η = λ ∪ µ esta bien definiday cumple Cη = C ′, Dη = D′. Ademas como σ es umg de L′c,M ′ y L′ =Lη,M ′ = Mη entonces σ es umg de Lc,Mη por lo que ησ unifica a Lc,M,ası que existe un umg de Lc,M digamos τ .

Como τ es umg entonces existe una sustitucion ρ tal que τρ = ησ. Si tomamosE = (C1∨C2∨D1∨D2)τ entoncesE es un resolvente binario de C yD. Mas aun:Eρ = (C1∨C2∨D1∨D2)τρ = (C1∨C2∨D1∨D2)ησ = (C ′

1∨C′2∨D

′1∨D

′2)σ = E′

∴ E ≤s E′ a

Ahora podemos demostrar el teorema del levantamiento, pieza fundamentalpara la completud de la resolucion.

Teorema 2.2 (Teorema del levantamiento).Sea S un conjunto de clausulas y S′ un conjunto de instancias de clausulas deS. Si ∆ es una R-derivacion a partir de S′ entonces existe una R-derivacion Γa partir de S tal que Γ ≤s ∆

dem:

La prueba es por induccion sobra la longitud de la R-derivacion ∆ denotadal(∆).

• l(∆) = 1.En este caso ∆ = D′ donde D′ es una variante de D y D ∈ S′, por loque existen C ∈ S y λ tales que Cλ = D. Como D′ es variante de Dexiste una permutacion σ tal que D′σ = D. Ası Cλ = D′σ y como σ espermutacion entonces σ−1 esta bien definida y se tiene que Cλσ−1 = D′,es decir C ≤s D

′. Por lo que definimos a Γ como C.

2.2. COMPLETUD DE LA RESOLUCION 21

• H.I. El teorema es valido si l(∆) ≤ n.

• l(∆) = n+ 1.Descomponemos a ∆ como ∆ = ∆′, C. donde l(∆′) = n. Tenemos doscasos:

1. C es variante de D y D ∈ S′.Este caso es inmediato a partir del caso base y de la hipotesis deinduccion.

2. C es resolvente binario de D′, E′ donde D′, E′ son factores de clau-sulas D,E que figuran en ∆′.

En este caso podemos expresar a ∆′ como ∆′ = ∆1, D,∆2, E,∆3.

Mediante la hipotesis de induccion existe una R-derivacion Γ′ tal queΓ′ ≤s ∆′. Entonces Γ′ debe ser de la forma Γ′ = Γ1, F,Γ2, G,Γ3

donde F ≤s D, G ≤s E. Ahora bien, dado que D′, E′ son factoresde D,E y D,E son instancias de F,G, como factores de instanciasson instancias de factores (teorema 2.1) entonces existen factores F ′

de F y G′ de G tales que F ′ ≤s D′ y G′ ≤s E

′.

Finalmente como C es un resolvente binario de D′ y E′, mediante ellema del levantamiento obtenemos un resolvente binario H de F ′, G′

tal que H ≤s C. Por lo tanto H es resolvente de F,G. Ası que sihacemos Γ = Γ′, H obtenemos que Γ = Γ′, H ≤s ∆′, C = ∆

a

Hasta aquı hemos seguido los metodos presentados en [Lei97]. Sin embargo,para obtener el teorema de completud general, tenemos que partir del teoremade completud para RC-derivaciones, que es el caso particular para clausulascerradas, este es una adaptacion propia del metodo presentado en [SA91]. Elcorolario y la manera de concluir la completud son aportaciones nuestras.

Definicion 2.11 Sean S un conjunto de clausulas y C una clausula. Una RC-derivacion de C a partir de S es una sucesion de clausulas C1, . . . , Cn tal que:

1. Cn = C

2. Para toda i = 1, . . . , n, se cumple alguna de las siguientes condiciones:

(a) Ci es una instancia cerrada de alguna clausula de S.

(b) Ci es resolvente de D,E, donde D,E son reductos de Cj , Ck paraalgunas j, k < i

Notacion: S `RC

C significa que existe una RC-derivacion de C a partir de S. Si

S `RC

decimos que se obtiene una RC-refutacion de S.

22 2. RESOLUCION Y SUS REFINAMIENTOS

Observese que la nocion de RC-derivacion es sobre conjuntos arbitrarios declausulas, sin embargo en las derivaciones solo figuran instancias cerradas, deahı el nombre de “RC”, por Resolucion Cerrada.

Para obtener el teorema de completud para las RC-derivaciones utilizaremosuna nocion equivalente que solo actua sobre conjuntos de clausulas cerradas,llamada Resolucion Proposicional (RP).

Definicion 2.12 Sean M un conjunto de clausulas cerradas y C una clausula.Una RP-derivacion de C a partir de M es una sucesion de clausulas C1, . . . , Cn

tal que:

1. Cn = C

2. Para toda i = 1, . . . , n, se cumple alguna de las siguientes condiciones:

(a) Ci ∈M

(b) Ci se obtuvo de reductos de Cj , Ck donde j, k < imediante resolucionproposicional.3

Notacion: M `RP

C significa que existe una RP-derivacion de C a partir de M .

Si M `RP

decimos que se obtiene una RP-refutacion de M .

Ahora presentamos el teorema de completud para las RP-derivaciones.

Teorema 2.3 (Completud para RP-derivaciones).Sea M un conjunto de clausulas cerradas. Si M es no satisfacible entoncesM `

RP.

dem:

Podemos suponer que /∈ M pues de lo contrario el resultado serıa trivial.Ademas utilizando el teorema de Compacidad podemos suponer queM es finito,digamos que M = C1, . . . , Cn.

La prueba es mediante induccion sobre el numero k(C1, . . . , Cn) definido me-diante

k(C1, . . . , Cn) = (

n∑

i=1

|Ci|)− n.

• k(C1, . . . , Cn) = 0. Lo cual significa que cada clausula es una literal, Ci =Li, i = 1, . . . , n. Como M no tiene un modelo entonces necesariamentehay un par complementario en M , digamos que Lj = Lc

i , 1 ≤ i, j ≤ n, elcual produce de inmediato mediante RP la clausula vacıa .

3La resolucion proposicional es aquella que no admite unificacion, sino que el par comple-mentario de literales tiene que estar presente de entrada.

2.2. COMPLETUD DE LA RESOLUCION 23

• H.I. Supongamos valido el resultado para 0 ≤ m < k(C1, . . . , Cn)

• k(C1, . . . , Cn) > 0. En este caso podemos suponer s.p.g. que |C1| ≥ 2.Sea L una literal de C1 y E = C1 \ L. Observese que k(L,C2, . . . , Cn) <k(C1, . . . , Cn), k(E,C2, . . . , Cn) = k(C1, . . . , Cn) − 1 < k(C1, . . . , Cn) yclaramente los conjuntos M1 = L,C2, . . . , Cn y M2 = E,C2, . . . , Cnno tienen un modelo puesto que L ∨E = C1 y M no tiene un modelo.

Ası que utilizando la hipotesis de induccion obtenemos que M1 `RP

y

M2 `RP

Sea Γ : D1, . . . , Dm una RP-refutacion de M2 y sea ΓL la RP-derivacionobtenida a partir de Γ sustituyendo Di por Di ∨ L para i = 1, . . . ,m,claramente ΓL es una derivacion de L a partir de M , de manera queM `

RPL.

Por ultimo a partir de M `RP

y M1 `RP

L concluimos que M `RP

a

Corolario 2.1 (Completud para RC-derivaciones)Si S es un conjunto de clausulas no satisfacible entonces hay una RC-refutacionde S.

dem:

Como S no tiene un modelo entonces por el teorema de Herbrand 1.3, IC(S)no tiene un modelo. Pero como IC(S) es un conjunto de clausulas cerradas,por el teorema anterior IC(S) `

RP. Pero esto ultimo claramente implica que

S `RC

a

Ya podemos presentar el teorema de completud general para R-derivaciones.

Teorema 2.4 (Completud para R-derivaciones)Si S es un conjunto no satisfacible de clausulas entonces hay una R-refutacionde S.

dem:

El corolario anterior nos proporciona una RC-refutacion Γ de S. Sea S′ elconjunto de instancias cerradas de S que figuran en Γ. Como las nociones dereducto y factor coinciden en clausulas cerradas entonces, por definicion, Γ esuna R-refutacion de S′. De manera que, usando el teorema del levantamiento,existe una R-derivacion ∆ a partir de S tal que ∆ ≤s Γ, pero como ∆ = Γσpara alguna substitucion σ entonces claramente ∆ es una R-refutacion de S. a

24 2. RESOLUCION Y SUS REFINAMIENTOS

2.3 Refinamientos de Resolucion

En esta seccion nos dedicamos a estudiar los refinamientos de resolucion, queconstituyen una manera de optimizar las derivaciones obtenidas con resolucion.

Definicion 2.13 Sea S un conjunto finito de clausulas. Definimos el conjuntoΩ(S) como el conjunto de todas las R-derivaciones a partir de S, es decir, Ω(S) =X | X es una R-derivacion a partir de S.Con C denotamos al conjunto de todas las clausulas y con CL denotamos alconjunto de todos los conjuntos finitos de clausulas. Por ultimo el conjunto detodas las R-derivaciones sera denotado con Ω. Claramente se tiene

Ω =⋃

S∈CL

Ω(S)

Definicion 2.14 Considerese una funcion Ψ : CL −→ P (Ω). Ψ es un refi-namiento de resolucion syss se cumplen las siguientes condiciones:

1. Para todo S ∈ CL, Ψ(S) ⊆ Ω(S).

2. El conjunto Π | Π ∈ Ψ(S) es decidible para cualquier S ∈ CL.

3. Existe un algoritmo α que construye Ψ(S) para cada S ∈ CL. (Notese queΨ(S) puede ser infinito).

4. Si S ⊆ Q entonces Ψ(S) ⊆ Ψ(Q)

Definicion 2.15 Un refinamiento de resolucion Ψ se llama completo syss paracada conjunto finito no satisfacible de clausulas S, Ψ(S) contiene una R-refuta-cion de S.

El siguiente teorema proporciona una condicion necesaria para que un refi-namiento sea completo.

Teorema 2.5 Sea Ψ un refinamiento. Si Ψ es completo entonces debe existirun conjunto finito de clausulas S tal que Ψ(S) es infinito.

dem:

Supongamos que Ψ es completo y que Ψ(S) es finito para todo S ∈ CL. Pordefinicion existe un algoritmo α tal que α(S) = Ψ(S) y como Ψ(S) es finitoentonces α siempre termina. Ademas, como Ψ es completo entonces Ψ(S) con-tiene una R-refutacion syss S es no satisfacible. De manera que construyendoΨ(S) mediante α y verificando si Ψ(S) contiene una refutacion, obtenemos unprocedimiento de decision para el problema de la satisfacibilidad de la logicaclausular, lo cual es absurdo puesto que si la logica clausular fuera decidibleentonces la logica de predicados tambien serıa decidible, lo cual es absurdo por

2.3. REFINAMIENTOS DE RESOLUCION 25

el teorema de indecidibilidad de Church [SA91]. a

Este teorema muestra que el problema de la parada para refinamientos comple-tos siempre es indecidible.En general una aplicacion de un refinamiento completo Ψ lleva a uno de lossiguientes resultados:

1. La derivacion de , es decir, ∈ Ψ(S).

2. Ψ(S) es finito y no contiene una refutacion de S. Lo cual significa queΨ , considerado como un proceso, termina en S y por la completud de Ψsabemos que S es satisfacible.

3. Ψ(S) es infinito y no contiene una refutacion de S. En este caso Ψ notermina en S y, por completud, S es satisfacible. Este caso corresponde,en programacion, a entrar en un ciclo sin fin.

Muchos refinamientos, tales como resolucion ordenada, resolucion semantica yresolucion asegurada4, se pueden especificar mediante operadores conjuntistas.En estos casos el conjunto de todas las derivaciones a partir de un S ∈ CL dado,especificado por un refinamiento Ψ, se puede describir mediante el conjunto detodas las clausulas derivables a partir de S.

Definicion 2.16 Sean C,D dos clausulas. El conjunto de todos los resolventesde C,D sera denotado por Res(C,D).

Observese que aunque Res(C,D) puede ser infinito, es facil ver que el conjuntoRes(C,D)/ ∼v de clases de equivalencia bajo la relacion “ser variante de” esun conjunto finito. Al usar operadores de resolucion es conveniente evitar dife-rentes variantes de clausulas en el conjunto de resolventes derivados. Como esinconveniente trabajar con clases de equivalencia, seleccionamos una clausula decada clase. Mediante ϕ(S) denotamos las clausulas representativas de cada clasede S/ ∼v. Podemos usar un metodo estandar para renombrar variables en lasclausulas que consiste en reemplazar la primera variable por x1, la segunda porx2, y ası sucesivamente. El operador ϕ se conoce como el operador de renombreestandar.

A continuacion definimos el primer operador conjuntista de resolucion:

Definicion 2.17 Sean S un conjunto finito de clausulas y n ∈ N. Definimos:

Res(S) =⋃

Res(C,D) | C,D ∈ S

S0∅(S) = ϕ(S)

Sn+1∅ (S) = Sn

∅(S) ∪ ϕ(Res(Sn∅(S)))

R∅(S) =⋃

n∈ω

Sn∅(S).

4lock resolution.

26 2. RESOLUCION Y SUS REFINAMIENTOS

R∅ es el operador de resolucion ilimitada.

R∅(S) es el conjunto de todas las clausulas (con variables en forma estandar)derivables mediante R-deducciones a partir de S. Utilizando el operador ϕgarantizamos, para cada n, la finitud del conjunto Sn

∅(S), que es el conjunto delas clausulas deducibles mediante una R-derivacion de longitud ≤ n. La finituddel conjunto R∅(S) ( ası como la de Ψ(S) para algun refinamiento Ψ ) implicala “terminacion de la resolucion” en S. Tal terminologıa esta justificada puestoque R∅(S) se puede considerar, de acuerdo a la definicion anterior, como unalgoritmo definido en CL. Si R∅(S) es finito entonces el calculo termina, enotro caso no lo hace.

Definicion 2.18 Un operador de refinamiento de resolucion Rx es una funcionRx : CL −→ P (C) que satisface las siguientes condiciones: Existe una funcionρx : CL −→ CL tal que:

1. ρx(S) es un subconjunto finito de R∅(S), para toda S ∈ CL.

2. Existe un algoritmo α que calcula ρx(S), para toda S ∈ CL.

Rx se define, via ρx, como sigue:

S0x(S) = ϕ(S?)

Sn+1x (S) = Sn

x (S) ∪ ρx(Snx (S))

Rx(S) =⋃

n∈ω

Snx (S)

donde S? es un conjunto de clausulas tal que S ∼sat S?. Esta manera dedefinir el primer estrato S0

x(S) es una mejora nuestra a la original de [Lei97]pues proporciona mayor claridad y flexibilidad en los operadores que veremosposteriormente.

Definicion 2.19 Un operador de refinamiento de resolucion Rx es completosyss para todo conjunto no satisfacible de clausulas S, se tiene que ∈ Rx(S).

Es directo probar un resultado analogo al teorema 2.5 para un operador de re-finamiento de resolucion completo. En este caso debe existir un S ∈ CL tal queRx(S) es infinito.

Definicion 2.20 Sea R un conjunto de R-derivaciones. Definimos al conjuntoDer(R) como el conjunto de las clausulas , con variables en forma estandar,derivadas mediante R-deducciones de R.

2.3. REFINAMIENTOS DE RESOLUCION 27

Claramente, para cualquier S ∈ CL se tiene que Der(Ω(S)) = R∅(S).En algunos casos los conjuntos de R-derivaciones no pueden ser descritos simple-mente mediante operadores de refinamiento sobre conjuntos de clausulas, comoes el caso de los refinamientos lineales. Pero por otra parte, los operadores derefinamiento siempre definen refinamientos en el sentido de la definicion 2.14,como lo asegura el siguiente teorema:

Teorema 2.6 Si Rx es un operador de refinamiento de resolucion entoncesexiste un refinamiento Ψ tal que, para toda S ∈ CL:

Der(Ψ(S)) = Rx(S).

dem:

Sea S ∈ CL entonces cada C ∈ S es tambien una R-derivacion de longitud 1 yS se puede considerar tambien como un conjunto de R-derivaciones.Vamos a definir Ψ mediante saturacion de niveles (como los operadores de refi-namiento).

• Sea Ψ0(S) = ϕ(S?).Por definicion, la funcion ρx es calculable, ademas ρx(S?) es un conjuntofinito, digamos que ρx(S?) = C1, . . . , Cn y ρx(S?) ⊆ R∅(S?). Ası queexiste un algoritmo α (independiente de S ) que produce un conjunto de R-derivaciones a partir de S, Π(S) = ∆1, . . . ,∆n tal que S `

RCi mediante

la derivacion ∆i. Claramente se cumple que Der(Π(S)) = ρx(S) y Π escalculable.

• Supongamos que Ψn(S) esta definido y sea Ψn(S) = ψ1, . . . , ψk(n). Apartir de todas las derivaciones de Ψn(S) obtenemos la derivacion

χ(Ψn(S)) = ψ1 ? . . . ? ψk(n)

donde ? denota al operador de concatenacion.

• Ahora definimos, Ψn+1(S) = Ψn(S)∪χ(Ψn(S))?ψ | ψ ∈ Π(Der(Ψn(S)))

• Por ultimo definimos Ψ(S) =⋃

n∈ω

Ψn(S).

Observemos que por construccion Ψ(S) es un conjunto de R-derivaciones a partirde S.

Para mostrar que Der(Ψ(S)) = Rx(S), basta mostrar que para toda S ∈ CL ypara toda n ∈ ω , se cumple que Der(Ψn(S)) = Sn

x (S) y utilizar la definicion deRx(S). Esto lo haremos mediante induccion sobre n:

28 2. RESOLUCION Y SUS REFINAMIENTOS

• Base de la induccion, n = 0.

Der(Ψ0(S)) = Der(ϕ(S?)) = ϕ(S?) = S0x(S)

• Hipotesis de induccion, Der(Ψn(S)) = Snx (S)

• Paso inductivo. Probaremos la doble contencion:

⊇) Para esto basta ver que los dos uniendos que conforman a Sn+1x (S)

estan contenidos enDer(Ψn+1(S)).

∗ Utilizando la HI tenemos:

Snx (S) =

HIDer(Ψn(S)) ⊆ Der(Ψn+1(S))

∗ Por definicion de Π se tiene que Der(Π(Snx (S))) = ρx(Sn

x (S)).Pero para cada ψ ∈ Π(Sn

x (S)), χ(Ψn(S)) ?ψ es una R-derivaciona partir de S y

Der(χ(Ψn(S)) ? ψ) = Der(ψ)

por lo tanto concluimos que ρx(Snx (S)) ⊆ Der(Ψn+1(S)).

⊆) Por definicion se tiene que Snx (S) ⊆ Sn+1

x (S), ası que usando la HIobtenemos

Der(Ψn(S)) ⊆ Sn+1x (S).

Si ψ ∈ Π(Der(Ψn(S))) entonces

Der(χ(Ψn(S)) ? ψ) = Der(ψ)

Utilizando la HI obtenemos:

Der(ψ) ∈ Der(Π(Snx (S)))

Ahora bien, por la relacion entre Π y ρx, obtenemos Der(ψ) ∈Sn+1

x (S), y finalmente

χ(Ψn(S)) ? ψ | ψ ∈ Π(Der(Ψn(S))) ⊆ Sn+1x (S).

a

2.4 Hiperresolucion

2.4.1 Normalizacion de Clausulas

Definicion 2.21 Una clausula es positiva si todas sus literales son atomos nonegados. Es negativa si todas sus literales son atomos negados y es mixta encualquier otro caso.

2.4. HIPERRESOLUCION 29

Definicion 2.22 Sea ≺ ⊆ L×L un orden para las literales (positivas antes denegativas y orden lexicografico en cada grupo). Si C es una clausula, denotamoscon Co a la clausula C con sus literales ordenadas mediante ≺. Definimos eloperador de ordenacion No : C −→ C como No(C) = Co

Ejemplo 2.1 Si C = ¬Q(x, y) ∨ R(u) ∨ R(b) ∨ P (a, c) entonces No(C) =P (a, c) ∨ R(b) ∨ R(u) ∨ ¬Q(x, y).

Definicion 2.23 Sean C una clausula y η una substitucion tal que Cη es unavariante de C con variables v1, . . . , vn (ordenadas de izquierda a derecha) y quecumple V (Cη) ∩ xi | i ∈ N = ∅. Definimos el operador de normalizacion devariables Nv : C −→ C como Nv(C) = Cηv1/x1, . . . , vm/xm.

Ejemplo 2.2 Si C = P (w) ∨ P (a) ∨ Q(z, y) entonces Nv(C) = Nv(P (w) ∨P (a) ∨Q(z, y)) = P (x1) ∨ P (a) ∨Q(x2, x3).

Definicion 2.24 Sea C una clausula y Cr el menor reducto de C, es decir, Cr

es un reducto de C que ya no es reducible. Definimos el operador de reduccionNr : C −→ C como Nr(C) = Cr

Ejemplo 2.3 Si C = P (a) ∨ Q(b) ∨ R(z) ∨ Q(b) ∨ R(z) entonces Nr(C) =P (a) ∨Q(b) ∨ R(z).

Definicion 2.25 El operadorNs : C −→ C definido medianteNs = NrNvNo

se llama el operador de normalizacion estandar.

Ejemplo 2.4 Si C = ¬Q(x, z) ∨ ¬P (a) ∨ R(y) ∨ ¬P (a) ∨Q(a, z) entonces

Ns(C) = Nr Nv(Q(a, z) ∨ R(y) ∨ ¬P (a) ∨ ¬P (a) ∨ ¬Q(x, z))

= Nr(Q(a, x1) ∨ R(x2) ∨ ¬P (a) ∨ ¬P (a) ∨ ¬Q(x3, x1))

= Q(a, x1) ∨ R(x2) ∨ ¬P (a) ∨ ¬Q(x3, x1)

Definicion 2.26 Una clausula C esta condensada si no existe una literal L enC tal que C \ L es un factor de C. Definimos

γ(C) =

C Si C esta condensada.

γ(C \ L) Si L es la primera literal de C tal que C \ L es factor de C.

el operador Nc : C −→ C, definido como Nc(C) = Ns γ(C), es la forma nor-mal condensada o Nc-normalizacion de C.

30 2. RESOLUCION Y SUS REFINAMIENTOS

Es facil ver que la Nc-normalizacion, considerada como regla de inferenciaes correcta, es decir, si C es verdadera entonces Nc(C) es verdadera. Es mas,para cualquier clausula C, se tiene que Nc(C) es logicamente equivalente a C,como lo asegura la siguiente proposicion,

Proposicion 2.1 Para toda clausula C, se tiene que ∀Nc(C) ≡ ∀C.

dem:

Puesto que es obvio que ∀Ns(C) ≡ ∀C, basta demostrar que ∀γ(C) ≡ ∀C ypara esto es suficiente con mostrar que si C \ L es un factor de C entonces∀(C \L) ≡ ∀C. Es obvio que |= ∀(C \L)→ ∀C y ademas para cualquier factorD de C, se tiene que |= ∀C → ∀D, de manera que, como C \ L es un factor deC, podemos concluir que ∀(C \ L) ≡ ∀C. a

Ejemplo 2.5 Sea C = P (x)∨R(b)∨P (a)∨R(z), como R(b)∨P (a)∨R(z) es unfactor de C entonces γ(C) = γ(R(b)∨P (a)∨R(z)). Observese que ni P (a)∨R(z)ni R(b) ∨ R(z) son factores de γ(C) pero R(b) ∨ P (a) es un factor de R(b) ∨P (a)∨R(z). En consecuencia tenemos γ(R(b)∨P (a)∨R(z)) = γ(R(b)∨P (a)).Como R(b) ∨ P (a) no tiene factores, entonces γ(R(b) ∨ P (a)) = R(b) ∨ P (a).Ası que concluimos que γ(C) = R(b) ∨ P (a) y Nc(C) = P (a) ∨ R(b).

2.4.2 El Operador de Hiperresolucion

El objetivo de la regla de hiperresolucion es producir una clausula positiva apartir de un conjunto de clausulas, una de ellas negativa o mixta y las demaspositivas. Veamos un ejemplo

Ejemplo 2.6 Mediante Hiperresolucion con el unificadorµ = x/Tere, y/Pedro, z/Sergio a partir del conjunto

¬ Casado(x, y) ∨ ¬Madre(x, z) ∨ Padre(y, z)Casado(Tere, Pedro) ∨ Masviejo(Tere, Pedro)Madre(Tere, Sergio)

aplicando µ obtenemos:

Padre(Pedro, Sergio) ∨ Masviejo(Tere, Pedro)

A continuacion iniciamos el estudio formal de la hiperresolucion, hasta mostrarel teorema de completud correspondiente.

Definicion 2.27 Sea C una clausula de la forma C1∨C2 tal que C1 es positivay C2 es negativa, (alguna o ambas podrıan ser ). Entonces C esta en PN-forma. C1 (C2) se llama la parte positiva ( negativa ) de C y se denota por C+

(C−).

2.4. HIPERRESOLUCION 31

Definicion 2.28 Sean C,D dos PN-clausulas tal que D es positiva y C es de laforma C ′∨¬Q donde Q es un atomo. Sea D′ una variante de un factor de D talque V (D′) ∩ V (C) = ∅ y D′ = D1 ∨ P ∨D2 donde P es un atomo. Supongaseque P,Q es unificable mediante el umg σ. Entonces (D1 ∨ D2 ∨ C ′)σ es unRFP-resolvente (Restriccion a Factores Positivos) de C y D.

Observese que cada RFP-resolvente es tambien un resolvente ordinario en PN-forma ( resolviendo D desde la izquierda ). La factorizacion esta restringida aclausulas positivas y la regla de resolucion solo puede aplicarse a la literal queesta mas a la derecha en la clausula no positiva.

Ejemplo 2.7 Sea S = C1, C2, C3, C4 donde C1 = P (x) ∨ P (y), C2 = P (x) ∨¬R(x), C3 = ¬R(x)∨¬R(y)∨¬P (x), C4 = R(b). Los resolventes ¬R(x)∨¬R(y)y P (x) ∨ ¬R(x) ∨ ¬R(y) son RFP-resolventes de C1 y C3.

¬R(x)∨¬R(u)∨¬R(v) es un resolvente de C2 y C3 pero no es un RFP-resolvente,puesto que ni C2 ni C3 son positivas.

¬R(x) es un resolvente de C1 y C3, pero no es un RFP-resolvente, pues se haaplicado la factorizacion a una clausula no positiva.

¬P (b) es un resolvente de C3 y C4 pero no es un RFP-resolvente puesto que laliteral eliminada en la clausula no positiva no es la que esta mas a la derecha.De hecho no hay RFP-resolventes de C3 y C4.

La idea en la hiperresolucion es definir una sucesion de RFP-resolventes queproduzca una clausula positiva. El paso para la macroinferencia se basa en unatupla de clausulas que contienen una clausula no positiva y diversas clausulaspositivas.

Definicion 2.29 Sean C una PN-clausula no positiva y D1, . . . , Dn clausulaspositivas. La tupla % : (C;D1, . . . , Dn) se llama una sucesion conflictiva. SiC,D1, . . . , Dn ⊆ S decimos que % es una sucesion conflictiva a partir de S.Las clausula C es el nucleo y las Di son los satelites de %.

Definicion 2.30 Sea % : (C;D1, . . . , Dn) una sucesion conflictiva. Para i < ntomense las siguientes clausulas: R0 = C y Ri+1 un RFP-resolvente de Ri yDi+1 (si tal resolvente existe). Si Rn existe y es positiva entonces la formanormal condensada de Rn, Nc(Rn) es un hiperresolvente de %.

Ejemplo 2.8 Sea S = C1, C2, C3 con C1 = Q(x, y) ∨ ¬P (f(x)) ∨ ¬P (g(y)),C2 = P (x) ∨ R(x), C3 = P (y) ∨ P (f(y)).Sea % = (C1;C2, C3), claramente % es una sucesion conflictiva. Definimos

32 2. RESOLUCION Y SUS REFINAMIENTOS

R0 = C1 y R1 = R(g(y))∨Q(x, y)∨¬P (f(x)). Hay 2 posibilidades para definirR2, a saber: R1

2 = P (x)∨R(g(y))∨Q(x, y) y R22 = P (f(f(x)))∨R(g(y))∨Q(x, y).

Ambas clausulas definen respectivamente a los hiperresolventesP (x1) ∨ Q(x1, x2) ∨ R(g(x2)) y P (f(f(x1))) ∨ Q(x1, x2) ∨ R(g(x2)).

Definicion 2.31 Sea S un conjunto finito de PN-clausulas. Definimos la funcionρH : CL −→ CL como

ρH(S) = X ∈ C | X es un hiperresolvente de % y % es una sucesionconflictiva a partir de S

ρH(S) es el conjunto de todos los hiperresolventes definidos mediante sucesionesconflictivas a partir de S. Sea S+ el conjunto de clausulas positivas de S, defi-nimos el operador de hiperresolucion RH como sigue:

S0H(S) = ϕ(Nc(S

+) ∪ (S− S+))

Sn+1H (S) = Sn

H(S) ∪ ρH(SnH (S))

RH(S) =⋃

n∈N

SnH(S).

Observese que realmente S0H(S) = Nc(S

+) ∪ ϕ(S− S+)

2.4.3 El Teorema de Completud

Ya estamos preparados para demostrar la completud del refinamiento de hiper-resolucion, para lo cual demostraremos primero, la completud para clausulascerradas, utilizando en parte el metodo de Davis-Putnam.

Lema 2.2 ( Completud de la hiperresolucion para clausulas cerradas)Sea S un conjunto no satisfacible de PN-clausulas cerradas entonces ∈ RH(S).

dem:

Podemos suponer s.p.g. que S es finito. La demostracion sera por induccionsobre el numero de presencias de literales en S, denotado npl(S)

• Base de la induccion, npl(S) = 0. En este caso S = y claramente ∈ S0

H(S) ⊂ RH(S).

• Hipotesis de induccion: para npl(S) ≤ n

• Paso inductivo: Supongamos que npl(S) = n + 1. Hay que analizar doscasos:

2.4. HIPERRESOLUCION 33

1. Todas las clausulas de S son positivas o negativas y todas las clausulaspositivas son unitarias5. Como S es no satisfacible, debe haber unaclausula negativa D ∈ S tal que D = ¬P1 ∨ . . . ∨ ¬Pn donde lasclausulas unitarias P1, . . . , Pn pertenecen a S. Si tal clausula no exis-tiera todas las clausulas negativas podrian eliminarse mediante laregla de la literal pura de DP; las clausulas restantes serıan positi-vas y S serıa satisfacible. Por lo tanto tal D existe y la sucesion(¬P1 ∨ . . . ∨ ¬Pn;Pn, . . . , P1) es una sucesion conflictiva cuyo hiper-resolvente es . De manera que, por definicion de RH , concluimosque ∈ RH(S).

2. Hay clausulas mixtas en S o hay una clausula positiva no unitaria enS.

(a) En S figura una clausula mixta, digamos C.Como C es una PN-clausula debe ser de la forma P ∨ E, dondespg P es un atomo. Como S es no satisfacible, es facil ver quelos conjuntos de clausulas S1 = (S − C) ∪ P y S2 = (S −C)∪ E son ambos no satisfacibles y npl(S1), npl(S2) ≤ n demanera que ∈ RH(S1) y ∈ RH(S2).

(b) Existe una clausula positiva no unitariaD ∈ S. EntoncesD es dela forma P∨E, con E una clausula positiva, analogamente al casoanterior, descomponemos a S en S1 y S2 obteniendo mediante laHI que ∈ RH(S1) y ∈ RH(S2).

Ahora mostraremos que a lo mas la diferencia entre RH(S) y RH(S2)se da en las presencias del atomo P en algunas clausulas. Para untratamiento formal definimos, para cualquier literal L, una relacion≤L como sigue:

C ≤L D syss Nc(C) = Nc(D) o Nc(D) = Nc(C ∨ L)

Dejamos como ejercicio el cerciorarse que (C, ≤L) es un preorden.Si P ,Q son conjuntos de clausulas, decimos que P ≤L Q syss paratoda clausula C ∈ P existe una clausula D ∈ Q tales que C ≤L D.Utilizando este orden parcial mostraremos en ambos casos

RH(S2) ≤P RH(S).

Para demostrar la relacion sobre los estratos de RH , procedemos porinduccion sobre los naturales, es decir, vamos a demostrar que

SnH(S2) ≤P Sn

H(S) para toda n ∈ N

– Base de la induccion, n = 0: las relaciones

Nc(S+2 ) ≤P Nc(S

+) y (S2 − S+2 ) ≤P (S− S+)

son triviales puesto que E ≤P P ∨ E.

5recuerdese que una clausula unitaria es aquella que contiene exactamente una literal.

34 2. RESOLUCION Y SUS REFINAMIENTOS

Es facil ver que el paso inductivo se reduce a lo siguiente: Sean γ1 =(E;D1, . . . , Dn) y γ2 = (E′;D′

1, . . . , D′n) sucesiones conflictivas tales que

E ≤P E′ y Di ≤P D′i para i = 1, . . . , n y las Di, D

′i estan en forma normal

condensada. Si F es un hiperresolvente de γ1 entonces existe un hiperre-solvente F ′ de γ2 tal que F ≤P F ′.La ultima aseveracion puede todavıa reducirse a la preservacion de larelacion ≤P en los pasos internos al resolver la sucesion conflictiva. Unresolvente interno es un resolvente de las clausulas E1 ∨ ¬Q y Di, dondeDi es positiva y de la forma F1∨Q∨F2. y el preservar la relacion significaque: si E1 ∨¬Q ≤P G y Di ≤P H entonces si K es un RFP-resolvente deE1 ∨ ¬Q y Di y K ′ es un RFP-resolvente de G y H , entonces K ≤P K ′.

Tomemos pues E1 ∨ ¬Q ≤P G y F1 ∨ Q ∨ F2 = Di ≤P H . Como P espositiva y G esta en PN-forma tenemos que G = E ′

1 ∨ ¬Q para algunaclausula E′

1 tal que E1 ≤P E′1. La clausula H debe contener a Q y es de

la forma F ′1 ∨ Q ∨ F

′2 donde F1 ∨ F2 ≤P F ′

1 ∨ F′2 (todas las relaciones se

dan sin importar si P es o no Q).

El RFP-resolvente de E1 ∨ ¬Q y F1 ∨ Q ∨ F2 es F1 ∨ F2 ∨ E1, ya quelas clausulas positivas estan en Nc-forma, por lo que no necesitamos re-duccion. Analogamente F ′

1 ∨ F′2 ∨ E

′1 es RFP-resolvente de E ′

1 ∨ ¬Q yF ′

1 ∨ Q ∨ F′2. Porque, en general, C1 ≤P C2 y D1 ≤P D2 implica que

C1 ∨D1 ≤P C2 ∨D2, podemos concluir que F1 ∨F2 ∨E1 ≤P F ′1 ∨F

′2 ∨E

′1.

De manera que podemos concluir que, para los hiperresolventes F, F ′ deγ1 y γ2 que F ≤P F ′.

Estando completa la induccion, utilizando la definicion de RH podemosconcluir que

RH(S2) ≤P RH(S)

Es importante observar que el agregar literales positivas a una clausula nobloquea las posibilidades de pasos de resolucion antes existentes.

Por ultimo tenemos que concluir que ∈ RH(S). Por HI sabemos que ∈ RH (S2) ≤P RH (S), de manera que, por definicion de ≤P , debe existiruna clausula C ∈ RH(S) tal que ≤P C, lo cual implica dos casos:

1. C = , por lo que inmediatamente ∈ RH(S).

2. C = P , puesto que las clausulas positivas de RH(S) estan en Nc-forma.Ahora observese lo siguiente:

S1 = (S− C) ∪ P y S− C ⊆ S ⊆ RH(S);

Como P ∈ RH(S), obtenemos S1 ⊆ RH(S), de manera que, por lamonotonıa e idempotencia de RH concluimos que RH(S1) ⊆ RH(S).Ası que ∈ RH(S), puesto que, por HI, ∈ RH(S1)

2.4. HIPERRESOLUCION 35

Con esto termina la induccion sobre npl(S) y la prueba misma. a

Definicion 2.32 Sean C,D dos clausulas. Definimos la relacion ≤sc como:C ≤sc D syss existe σ tal que Nc(Cσ) = D.

Observemos que para cualquier clausula C y cualquier σ, se cumple que C ≤sc

Nc(Cσ).

Definicion 2.33 Sean C,D dos PN-clausulas. Definimos la relacion ≤scs como:C ≤scs D syss existe σ tal que Nc(C

+σ) = Nc(D+) y C−σ = D−.

Lema 2.3 Sean C ′ = C ′1 ∨¬Q

′, D′ = D′1 ∨Q

′ ∨D′2 dos PN-clausulas cerradas,

D′ en Nc-forma y positiva. Sea E ′ = D′1 ∨ D

′2 ∨ C

′1 el RFP-resolvente de C ′

y D′. Si C,D son dos clausulas con variables ajenas tales que C ≤scs C ′ yD ≤sc D

′ entonces existe un RFP-resolvente E, de C y D tal que E ≤scs E′

dem:

Primero veamos que C debe ser de la forma C1∨¬Q, con C1 ≤scs C′1 y Q ≤s Q

′.C ≤scs C

′ ⇒ Nc(C+σ) = Nc((C

′1∨¬Q

′)+) y C−σ = (C ′1∨¬Q

′)− para alguna σ.Observese que C ′+ = C ′+

1 y C ′− = C ′−1 ∨¬Q

′ de manera que C−σ = C ′−1 ∨¬Q

′,de donde se obtiene que deben existir C ′′ y Q tales que Qσ = Q′, es decir,Q ≤s Q

′ y C− = C ′′− ∨ ¬Q.De manera que C = C+∨C− = C+∨C ′′−∨¬Q, y si tomamos C1 = C+∨C ′′−,es facil ver que C1 ≤scs C

′1.

Ahora bien, D ≤sc D′ implica que existe η tal que Nc(Dη) = D′ y comoV (C)∩V (D) = ∅ entonces la substitucion µ = σ∪η esta bien definida y cumplelas siguientes 3 condiciones: Nc(C

+µ) = Nc(C′+), C−µ = C ′− y Nc(Dµ) = D′.

De esta ultima condicion, como D′ = D′1 ∨ Q

′ ∨D′2 entonces D, debe tener, la

siguiente forma,D = D1∨L1 . . .∨Dn∨Ln∨Dn+1, donde L1, . . . , Ln son literales,tales que Lµ = L1, . . . , Lnµ = Q′ y Nc((D1 ∨ . . . ∨ Dn+1)µ) = D′

1 ∨ D′2.

Como L es unificable, tomemos un umg de L, digamos ρ. Tal ρ define al factorD1ρ ∨ L1ρ ∨ . . . ∨ Dnρ ∨ Dn+1ρ de D. Es facil ver que µ unifica a L1ρ,Q,de manera que con el factor dado de D y C obtenemos el RFP-resolventeE = ((D1 ∨ . . . ∨Dn+1)ρ ∨ C1)θ, donde θ es un umg de L1ρ,Q.Por ultimo veamos que E ≤scs E

′. Observese que ρθ ≤s µ pues ρθ es umg deL ∪ Q.Como ρ define una G-instancia de D y V (C) ∩ V (D) = ∅ entonces domρ ∩V (D) = ∅, por lo que C1ρ = C1 y E = (D1 ∨ . . . ∨Dn+1 ∨ C1)ρθ.Consideremos ahora la parte negativa de E. E− = C−

1 ρθ, puesto que las Di sonpositivas. De la misma manera, concluimos que E ′− = C ′−

1 . Observemos queC−

1 µ = C ′−1 = E′−, puesto que C−µ = C ′−.

Por otra parte, E+ = (D1 ∨ . . . ∨ Dn+1 ∨ C+1 )ρθ. Mediante las relaciones

Nc(C+µ) = Nc(C

′+) y Nc((D1 ∨ . . . ∨ Dn+1)µ) = D′1 ∨ D

′2 obtenemos que

Nc((D1 ∨ . . . ∨Dn+1 ∨ C+1 )µ) = Nc(D

′1 ∨D

′2 ∨ C

′+1 ).

36 2. RESOLUCION Y SUS REFINAMIENTOS

Finalmente, sea τ tal que ρθτ = µ, entonces, a partir de lo arriba demostrado,es facil ver que, Nc(E

+τ) = Nc(E′+) y E−τ = E′−, es decir, E ≤scs E

′. a

Lema 2.4 Sea S un conjunto de clausulas tal que Nc(S+) = S+ y S′ ⊆ IC(S).

Para cada clausula en Nc-forma C ′ ∈ RH(S′) existe una clausula C ∈ RH(S)tal que C ≤sc C

′. Tal propiedad la denotamos con RH(S) ≤sc RH(S′).

dem:

La demostracion se hara por induccion sobre n, para los estratos de RH .

• Base de la induccion, n = 0. P.D. S0H(S) ≤sc S

0H(S′).

Para esto, dado que las clausulas de S+ ya estan en Nc-forma y que eloperador ϕ no afecta la forma de las clausulas, basta mostrar que S ≤sc

Nc(S′+) ∪ (S′ − S′+). Pero esto ultimo es consecuencia inmediata de que

C ≤sc Nc(Cσ) para cualquier substitucion σ y C ∈ S.

• HI: SnH(S) ≤sc S

nH(S′)

• Paso inductivo, P.D. Sn+1H (S) ≤sc S

n+1H (S′)

Por la definicion de Sn+1H , utilizando la hipotesis de induccion, solamente

basta demostrar que ρH(SnH(S)) ≤sc ρH(Sn

H(S′)).Sea E′ ∈ ρH(Sn

H(S′)), entonces por definicion de ρH , existe una sucesionconflictiva, digamos γ2 = (C ′;D′

1, . . . , D′n), de elementos de Sn

H(S′) talque E′ es un hiperresolvente de γ2. Utilizando la HI, obtenemos unasucesion conflictiva γ1 = (C;D1, . . . , Dn) de elementos de Sn

H(S) tal queC ≤s C ′ y Di ≤sc D′

i para cualquier i ≤ n.6 Es facil ver que C ≤s

C ′ ⇒ C ≤scs C′, por lo que podemos aplicar el lema 2.3 a las clausulas

C ′, D′1, R

′1, siendo R′

1 el RFP-resolvente de C ′ yD′1 ; con lo cual obtenemos

un RFP-resolvente R1, de C y D1 tal que R1 ≤sc R′1. Iterando este

proceso n veces, obtenemos que Rn ≤sc R′n, pero, por definicion, Rn es el

hiperresolvente de γ2, de manera que, haciendo E = Rn obtenemos que Ees un hiperresolvente de γ1, es decir, E ∈ ρH(Sn

H(S)) y ademas E ≤sc E′.

a

La aparente restriccion Nc(S+) = S+ impuesta en las hipotesis del lema anterior

resulta inofensiva pues, por la proposicion 2.1, Nc(S+) ≡ S+. Sin embargo el

lema se enuncia de esta manera por motivos de claridad en la demostracion.Con los lemas anteriores podemos concluir de inmediato la completud para lahiperresolucion.

Teorema 2.7 (Completud de la Hiperresolucion).Si S es un conjunto no satisfacible de PN-clausulas entonces ∈ RH(S).

6C ≤s C′ no por la HI sino porque Sn

H(S′) se genero a partir de instancias cerradas de S.

2.5. HIPERRESOLUCION NEGATIVA 37

dem:

Podemos suponer spg que Nc(S+) = S+. Utilizando los teoremas de Herbrand

y de Compacidad, tomemos un conjunto finito de instancias cerradas de S,digamos S′ ⊆ IC(S) tal que S′ es no satisfacible. Por el lema 2.2 podemosconcluir que ∈ RH(S′). Por el lema 2.4, tenemos RH(S) ≤sc RH(S′), demanera que existe una clausula C ∈ RH(S) tal que C ≤sc , pero esto solopuede suceder si C = . Por lo tanto ∈ RH(S). a

2.5 Hiperresolucion Negativa

Definicion 2.34 Sea P = P1, . . . , Pn un conjunto de sımbolos de predicadoy γ una funcion con dominio P tal que para toda i = 1, . . . , n, γ(Pi) = Pi oγ(Pi) = ¬Pi. Entonces γ es un cambio de signos . Denotamos a γ mediante suimagen, γ = γ(P1), . . . , γ(Pn). Un cambio de signos γ se puede extender aclausulas y a conjuntos de clausulas de la siguiente manera:

γ(P (t1, . . . , tn)) = γ(P )(t1, . . . , tn) para formulas atomicas

γ(¬P (t1, . . . , tn)) = γ(P (t1, . . . , tn))c para literales negativas

γ(C1 ∨ . . . ∨ Cn) = γ(C1) ∨ . . . ∨ γ(Cn) para clausulas

γ(S) = γ(C) | C ∈ S para conjuntos de clausulas

.

Es facil ver que los cambios de signos preservan la satisfacibilidad, es decir, quepara todo conjunto de clausulas S, S ∼sat γ(S). Si definimos el conjunto deliterales SL(S) de un conjunto de clausulas S, como SL(S) = SP (S) ∪ ¬P |P ∈ SP (S) y ¬P figura en S, donde SP (S) denota al conjunto de sımbolos depredicado que figuran en S, entonces la hiperresolucion, como la hemos definido,es un principio que genera solamente clausulas C tales que SL(C) ⊆ SP (C).El principio de hiperresolucion puede generalizarse al substituir en las defini-ciones concernientes, el concepto de clausula positiva por el concepto de clausulaγ-positiva, que definimos a continuacion.

Definicion 2.35 Sea S un conjunto de clausulas y γ un cambio de signos paraSP (S) = P1, . . . , Pn. Decimos que una clausula C es γ-positiva si SL(C) ⊆γ(P1), . . . , γ(Pn).

En particular si γ1 = SP (S) entonces una clausula γ1-positiva es simplementeuna clausula positiva y si γ2 = ¬P1, . . . ,¬Pn, entonces las clausulas γ2-positivas son las clausulas negativas.Al tener bien determinado el concepto de clausula γ-positiva obtenemos, paracada cambio de signo γ, el principio de γ-hiperresolucion. En particular, para el

38 2. RESOLUCION Y SUS REFINAMIENTOS

γ1 anterior la γ1-hiperresolucion es simplemente la hiperresolucion y para el γ2

anterior se obtiene el principio de hiperresolucion negativa que simplemente con-siste en intercambiar los papeles de las clausulas positivas y negativas en el prin-cipio de hiperresolucion. La completud de los principios de γ-hiperresolucion,para cualquier γ, se sigue inmediatamente de la completud de la hiperresolucionpositiva, que ya demostramos, modificando las definiciones y el operador RH demanera adecuada.

2.6 UR-Resolucion

En esta seccion presentamos el refinamiento de UR-resolucion, el cual es massimple que la hiperresolucion y suele presentarse antes que esta, sin embargoaquı lo tratamos como un caso particular de γ-hiperresolucion por lo que lopresentamos hasta ahora.Durante algun tiempo el problema central en el area de razonamiento au-tomatico fue el desarrollo de estrategias de restriccion y la investigacion desus propiedades.Una de las estrategias de restriccion mas simples es la llamada resolucion uni-taria, la cual prohibe la generacion de resolventes a partir de dos clausulas nounitarias, es decir, se exige que cada resolvente tenga como padre al menosuna clausula unitaria. Esta estrategia siempre produce resolventes con menosliterales que el mas grande de los padres.

Definicion 2.36 Sean C,D dos clausulas y E un resolvente de C y D. Decimosque E se obtuvo mediante resolucion unitaria o U-Resolucion, o que E es unU-resolvente de C y D si al menos uno de los factores de C y D, utilizados paraobtener E, es una clausula unitaria.Una U-derivacion es una R-derivacion donde cada resolvente es un U-resolvente.Una U-refutacion de un conjunto S es una U-derivacion de a partir de S.

El principio de U-resolucion resulta incompleto. Por ejemplo, el conjunto S =Pa∨Qa, ¬Pa∨Qa, Pa∨¬Qa, ¬Pa∨¬Qa es no satisfacible y sin embargono existe una U-refutacion de S.Aun cuando la U-resolucion es incompleta, es un principio eficiente y suficien-temente poderoso como para probar una gran clase de teoremas, o lo que eslo mismo, para refutar una gran clase de conjuntos que incluye a todos losconjuntos de clausulas de Horn. A la clase de conjuntos refutables medianteU-resolucion, se le llama clase de conjuntos U-refutables.

La resolucion que resulta en clausulas unitarias o UR-resolucion es un caso par-ticular de γ-hiperresolucion donde los satelites son clausulas unitarias.

Definicion 2.37 Sean C una clausula y D1, . . . , Dk clausulas unitarias. Con-siderense las siguientes clausulas: R0 = C y Ri+1 un U-resolvente de Ri y Di+1,si tal resolvente existe e i < k.

2.7. RESOLUCION SEMANTICA Y EL CONJUNTO DE SOPORTE. 39

Si Rk existe y es una clausula unitaria entonces la sucesion % : (C;D1, . . . , Dk)es un UR-conflicto y Nc(Rk) es un UR-resolvente de %.

Es claro que el principio de UR-resolucion es incompleto puesto que es unamacroinferencia basada en U-resolucion.De manera analoga a la construccion de RH podemos construir el operador deUR-resolucion RUR y adaptando la prueba de completud para la hiperresolucionpodemos obtener el siguiente teorema de completud para la UR-resolucion res-tringida a conjuntos U-refutables.

Teorema 2.8 Sea S un conjunto U-refutable y no satisfacible entonces ∈RUR(S).

2.7 Resolucion Semantica y el Conjunto de So-

porte.

2.7.1 Resolucion Semantica

Definicion 2.38 Sea S un conjunto de clausulas y A una interpretacion de S.Sean C,D clausulas de la signatura de S tales que al menos una de ellas es falsaen A. Entonces cada resolvente de C y D es un A-resolvente.

El siguiente lema, es de gran importancia para la completud de la resolucionsemantica y es una consecuencia inmediata del teorema del levantamiento.

Lema 2.5 Si D1, D2 son instancias cerradas de C1, C2 y F es un A-resolventede D1, D2 entonces existe un A-resolvente E de C1, C2 tal que E ≤s F .

dem:

En realidad el teorema del levantamiento proporciona un resolvente E de C1, C2

tal que E ≤s F , ası que lo unico que hay que mostrar es que E es un A-resolvente.Como F es un A-resolvente, entonces spg D1 es falsa en A, y como D1 es unainstancia cerrada de C1 entonces la formula ∀C1 → D1

7 es valida, lo cual implicaque C1 es falsa en A. Por lo tanto E es un A-resolvente. a

Definicion 2.39 Sean A una interpretacion de un conjunto finito de clausulas S

y C,D1, . . . , Dk clausulas de la signatura de S, tales que para toda j = 1, . . . , k,Dj es falsa en A. Para i < k tomense las siguientes clausulas: R0 = C y Ri+1

un A-resolvente de Ri y Di+1 ( si tal resolvente existe ).Si Rk existe y es falso en A entonces la sucesion % : (C;D1, . . . , Dk) se llama unconflicto semantico y Rk es un resolvente semantico de % con respecto a A.

7∀α denota a la cerradura universal de la formula α.

40 2. RESOLUCION Y SUS REFINAMIENTOS

Ejemplo 2.9 Sean C = ¬R(f(x)) ∨ ¬P (g(x)), D1 = ¬P (x) ∨ R(x), D2 =P (f(x)). Tomemos S = C,D1 y A una interpretacion tal que | A |= 0, 1,PA = 1, RA = ∅, fA = (0, 0), (1, 0), gA = (0, 1), (1, 1).En este caso tenemos que (C;D1, D2) es un conflicto semantico cuyo resolventesemantico es ¬P (g(x)). Note que (D1;D2) tambien es un conflicto semanticoporque su resolvente es R(f(x)) que es falso en A, en cambio (C;D1) no es unconflicto semantico.Observese que el nucleo de un conflicto puede ser falso en A, pero debe tener“instancias verdaderas”, es decir, debe ser satisfacible.

Definicion 2.40 Sean S un conjunto de clausulas, A una interpretacion de S yD un conjunto de clausulas de la signatura de S. Definimos ρS,A como:

ρS,A(D) = ϕ(E | E es un resolvente semantico a partir de D)

donde ϕ es el operador de renombre estandar. Definimos de la manera usual eloperador de resolucion semantica como:

S0S,A(D) = ϕ(Nc(D

+) ∪ (D− D+))

Sn+1S,A (D) = Sn

S,A(D) ∪ ρS,A(SnS,A(D))

RS,A(D) =⋃

n∈N

SnS,A(D).

Definicion 2.41 Sean S ⊂ C, A una interpretacion de S y D ⊂ IC(S). Sea Ael conjunto de atomos de D. Definimos un cambio de signos γD con dominio Acomo γD(A) = A si y solo si A es falso en A. γD es el cambio de signos asociadoa D.

Es claro que si D es no satisfacible, entonces γD(D) es no satisfacible. Ademas, secumple la siguiente propiedad que nos sera de gran utilidad: para toda clausulaD ∈ D, D es falsa en A syss γD(D) es positiva.La completud de la resolucion semantica se reducira a la completud para lahiperresolucion, mediante el siguiente lema

Lema 2.6 Para cualesquiera S, A y D ⊂ IC(S) se cumple que γD(RS,A(D)) =RH(γD(D)) .

dem:

Basta probarlo para los estratos correspondientes mediante induccion sobre n.Sea γ = γD.

2.7. RESOLUCION SEMANTICA Y EL CONJUNTO DE SOPORTE. 41

• Base de la induccion. n = 0, es inmediato a partir de γ(Nc(D+)) =

Nc(γ(D)+) y γ(D− D+) = γ(D)− γ(D+).

• Hipotesis de induccion. γ(SnS,A(D)) = Sn

H(γ(D))

• Paso inductivo. Por las definiciones correspondientes y utilizando la HI,basta demostrar que γ(ρS,A(Sn

S,A(D))) = ρH(SnH (γ(D)))

⊇) Sea R ∈ ρH(SnH(γ(D))), entonces existen clausulas C,D1, . . . , Dm ∈

SnH(γ(D)) tales que R es hiperresolvente de % : (C;D1, . . . , Dm).

Por la HI existen clausulas E1, . . . , Em ∈ SnS,A(D) tales que γ(Ei) =

Di y como Di = γ(Ei) es positiva entonces, dado que Ei se genero apartir de D, concluimos que Ei es falsa en A.Sea %′ : (γ−1(C);E1, . . . , Em). Es facil ver, mediante una simple in-duccion, que para cada i = 1, . . . ,m, existe R′

i tal que γ(R′i) = Ri,

donde R′i es un A-resolvente intermedio al resolver %′ y Ri es el co-

rrespondiente RFP-resolvente al resolver %. De manera que podemosconcluir que existe un R′ tal que γ(R′) = R, pero como R es positivaentonces R′ es falsa en A, de manera que R′ resulta ser un resolventesemantico de %′. Por lo tanto R = γ(R′) ∈ γ(ρS,A(Sn

S,A(D))).

⊆) Es totalmente analogo.

De manera que podemos concluir que γD(RS,A(D)) = RH(γD(D)) a

Lema 2.7 (Completud de la resolucion semantica para clausulas cerradas).Si S es un conjunto de clausulas, A es una interpretacion de S y D es un conjuntono satisfacible de instancias cerradas de S, entonces ∈ RS,A(D).

dem:

Como D es no satisfacible entonces γD(D) es no satisfacible, de manera queutilizando la completud de la hiperresolucion para clausulas cerradas tenemosque ∈ RH(γD(D)). Por ultimo mediante el lema 2.6 obtenemos que ∈γD(RS,A(D)), lo cual implica que = γ−1

D() ∈ RS,A(D). a

El siguiente lema nos muestra una propiedad de levantamiento, mediante la cualconcluiremos el teorema de completud correspondiente.

Lema 2.8 Si D ⊂ IC(S) entonces RS,A(S) ≤s RS,A(D).

dem:

La demostracion se hace por induccion de la manera usual para los estratoscorrespondientes, los detalles se dejan como ejercicio, aquı solo probaremos queρS,A(Sn

S,A(S)) ≤s ρS,A(SnS,A(D)).

Tal problema se reduce a mostrar que dado cualquier conflicto semantico %′ :

42 2. RESOLUCION Y SUS REFINAMIENTOS

(C ′;D′1, . . . , D

′m) de elementos de Sn

S,A(D) existe un conflicto semantico % :(C;D1, . . . , Dm) de elementos de Sn

S,A(S) tal que para los respectivos resolventessemanticos se cumple R′ ≤s R y esto a su vez se reduce a probar la preservaciondel orden para los A-resolventes intermedios, lo cual es consecuencia inmediatadel lema 1. a

Por ultimo, como corolario del trabajo anterior, obtenemos el teorema de com-pletud para la resolucion semantica.

Teorema 2.9 (Completud de la resolucion semantica).Si S es un conjunto no satisfacible de clausulas y A es una interpretacion de S,entonces ∈ RS,A(S).

dem:

Sea D ⊂ IC(S) un conjunto finito y no satisfacible, proporcionado mediantelos teoremas de Herbrand y de Compacidad. Por el lema 3 tenemos que ∈RS,A(D) y por el lema 4 debe existir una clasula C ∈ RS,A(S) tal que C ≤s ,pero esto solo es posible si C = . Por lo tanto ∈ RS,A(S). a

2.7.2 La estrategia del conjunto de soporte

La estrategia del conjunto de soporte ([WRC65]) es un caso especial de la resolu-cion semantica. Se trata de una estrategia de restriccion que consiste en distin-guir entre las clausulas descendientes de las hipotesis y las clausulas obtenidasa partir de la conclusion negada. Suponiendo que las hipotesis no son contra-dictorias, la obtencion de una contradiccion debe involucrar a la conclusion.Por lo tanto, esta estrategia prohibe la generacion de resolventes a partir dedos clausulas hipotesis. De manera mas general se puede distinguir cualquiersubconjunto satisfacible del conjunto inicial de clausulas y prohibir la resolucionentre miembros del subconjunto distinguido; solamente las clausulas restantestienen “soporte”. Aunque basado en [WRC65] y [CL73] el procedimiento incluyealgunas ideas nuestras.

Definicion 2.42 Sea S un conjunto de clausulas, decimos que T es un conjuntode soporte para S si y solo si T ⊆ S y S− T es satisfacible.

Una clausula con soporte T es una clausula que pertenece a T, que es unfactor de una clausula de T o que es resolvente de dos clausulas donde al menosuno de los padres tiene soporte, como lo formaliza la siguiente definicion; conFac(T) denotamos al conjunto de factores de clausulas de T.

Definicion 2.43 Sea S un conjunto de clausulas y T un soporte para S. Con-siderese la siguiente sucesion de conjuntos:

T0 = T ∪ Fac(T)

Tn+1 =⋃

C,D ∈S

Res(C,D) | C ∈ Tn o D ∈ Tn

2.7. RESOLUCION SEMANTICA Y EL CONJUNTO DE SOPORTE. 43

Sea SopT(S) =⋃

n∈N

Tn. Se dice que una clausula C tiene T-soporte si y solo si

C ∈ SopT(S).

Por ultimo definiremos que es una R-derivacion con soporte.

Definicion 2.44 Sea S un conjunto de clausulas y T un soporte para S. UnaR-derivacion ∆ : (C1, . . . , Cm) tiene T-soporte si y solo si para cada i ≤ m, siCi se obtuvo mediante resolucion entonces al menos uno de los padres Cj , Ck

con j, k < i tiene T-soporte .

El siguiente lema es la base para el teorema de completud del conjunto desoporte.

Lema 2.9 Sean S un conjunto de clausulas, T un soporte para S y A una in-terpretacion de S que satisface a S− T.Si C ∈ RS,A(S) entonces existe una R-derivacion ∆ de C a partir de S que tieneT-soporte.

dem:

Por induccion sobre n, para los estratos de RS,A(S).

• Base de la induccion, n = 0. Es obvio, tomando ∆ = C.

• Hipotesis de Induccion. Si C ∈ SnS,A(S) entonces existe una R-derivacion

∆ de C que tiene T-soporte.

• Paso Inductivo. Sea C ∈ Sn+1S,A (S). Basta analizar el caso en que C ∈

ρS,A(SnS,A(S)). En tal caso tenemos que C es un resolvente semantico

del conflicto % : (E;D1, . . . , Dk) donde E,Dj ∈ SnS,A(S). La hipotesis

de induccion nos proporciona R-derivaciones de E,Dj , digamos ∆E ,∆j

a partir del conjunto S. Tomemos la concatenacion de tales derivaciones,∆′ = ∆E?∆1?. . .?∆k. Por otra parte consideramos los A-resolventes inter-nos del conflicto % y con ellos obtenemos la derivacion ∆′′ : (R1, . . . , Rk),pero como Rk = C, entonces la derivacion buscada sera ∆ = ∆′ ?∆′′.

aComo corolario del lema anterior, obtenemos el teorema de completud para elconjunto de soporte, tal y como se enuncia en [CL73].

Teorema 2.10 (Completud de la Estrategia del Conjunto de Soporte).Si S es un conjunto no satisfacible de clausulas y T es un soporte para S, en-tonces existe una R-refutacion con T-soporte de S.

44 2. RESOLUCION Y SUS REFINAMIENTOS

dem:

Sea A una interpretacion de S que satisface a S− T.Por el teorema de completud para la resolucion semantica, tenemos que ∈RS,A(S), de manera que, utilizando el lema anterior, tenemos una R-derivacioncon T-soporte a partir del conjunto S de , es decir una R-refutacion de S, conT-soporte. a

En este capıtulo hemos presentado diversas reglas de inferencia, basadas enla regla de resolucion binaria, que generan procesos de decision que estan im-plementados en OTTER. Dichos procesos de decision funcionan correctamentedebido a los teoremas de completud presentados aquı.Ademas presentamos una introduccion general a los operadores de refinamiento,la cual sirve de base para estudios posteriores sobre nuevos procesos de decisiono construccion de modelos. Sin embargo todos los resultados anteriores no in-volucran al predicado de igualdad, al menos no explicitamente, aunque podrıanservir en casos particulares al considerar la igualdad como un predicado mas sinexplotar sus propiedades caracterısticas.El punto de estudio del siguiente capıtulo es precisamente la igualdad mediantela regla de paramodulacion y los sistemas de reescritura de terminos.

Capıtulo 3

La Igualdad

Hasta este momento hemos trabajado con sımbolos de predicado arbitrarios.Sin embargo, existe un sımbolo de predicado distinguido, el sımbolo =, querepresenta a la relacion de igualdad. Es esta una relacion tan importante quesu tratamiento dentro del razonamiento automatico merece atencion especial.En este capıtulo analizaremos la regla de paramodulacion desarrollada origi-nalmente por Larry Wos y George Robinson en 1969-1970 para manejar laigualdad [RW69, WR70] y hablaremos del concepto de demodulacion tambiendesarrollado por Wos y sus colegas [WRC67].Por ultimo presentaremos una breve introduccion al tema de sistemas de rees-critura de terminos, especialmente al metodo de complecion de Knuth-Bendix,presentado originalmente en [KB70]. Cabe mencionar que los procesos de para-modulacion y demodulacion estan implementados en OTTER, mientras que elproceso de Knuth-Bendix no se implementa directamente, pero se modela conayuda de otros procesos y opciones que ofrece el programa.

Empezamos recordando cuales son los axiomas de igualdad.

Definicion 3.1 Sea Σ una signatura. El conjunto de axiomas de igualdad paraΣ, denotado EΣ o simplemente E es el conjunto de las siguientes clausulas:

1. Axioma de Reflexividad, x = x.

2. Axioma de Simetrıa, x 6= y ∨ y = x.

3. Axioma de Transitividad, x 6= y ∨ y 6= z ∨ x = z.

4. Para cada f ∈ Σ, x1 6= y1 ∨ . . . ∨ xn 6= yn ∨ f(x1, . . . , xn) = f(y1, . . . , yn).

5. Para cada P ∈ Σ, x1 6= y1∨ . . .∨xn 6= yn∨¬P (x1, . . . , xn)∨P (y1, . . . , yn).

La siguiente notacion sera de gran utilidad en adelante, Si L es una literalentonces L[t] indica una presencia del termino t en L. Ademas si se dice quese reemplaza L[r] por L[s] en alguna regla de inferencia, la notacion llevaraimplicito que el reemplazo se hizo en la misma posicion. Lo mismo sucede conla notacion t[r] para terminos y C[r] para clausulas.

45

46 3. LA IGUALDAD

3.1 Demodulacion

Demodulacion es el proceso de reescribir expresiones mediante la aplicacion au-tomatica de clausulas unitarias de igualdad disenadas para este proposito (Cf.[WRC67]). Una igualdad de tal tipo se llama un demodulador. Tıpicamente,todos los terminos de las clausulas recien generadas por un programa de razo-namiento automatico se examinan para una posible demodulacion. Un terminoes demodulado si existe un demodulador tal que uno de sus argumentos puedaunificarse con el termino sin reemplazar ninguna de las variables del termino.Una convencion comun es utilizar unicamente el argumento de la izquierda deldemodulador para unificacion con el termino en consideracion. El termino de-modulado se obtiene reemplazando el termino por el segundo argumento deldemodulador despues de haber aplicado el unificador. Finalmente se sustituyela clausula original por la clausula demodulada. Cuando un programa de ra-zonamiento automatico encuentra un nuevo demodulador, dependiendo de lasinstrucciones que se le hayan dado, todas las clausulas retenidas previamentese examinan para una posible demodulacion con el nuevo demodulador. Esteproceso se conoce como demodulacion hacia atras.El proceso de demodulacion expresado como regla de inferencia es el siguiente:

s = tC[r]C[tσ]

donde σ es un unificador de s, r. s = t es el demodulador y C[tσ] es laclausula demodulada que se obtuvo reemplazando la presencia distinguida de ren C por tσ. El proceso no funciona como regla de inferencia sino como regla dereescritura, pues la clausula original se elimina sustituyendose por la clausulademodulada.

Ejemplo 3.1 A partir de la clausula C : P (f(x, c), a)∨Q(x,w) y del demodu-lador f(y, w) = g(w, y) obtenemos la clausula demodulada C ′ : P (g(c, x), a) ∨Q(x,w) mediante el unificador σ = y/x, w/c. A partir de este momento seelimina la clausula C a favor de C ′.

Este proceso, si bien de gran utilidad, no es suficiente para simplificar igual-dades, pues puede darse el caso en que dos terminos se demodulen a terminosdiferentes que ya no puedan ser demodulados a un mismo termino.

3.2 Paramodulacion

La ultima regla de inferencia que analizaremos es la regla de paramodulacion.Paramodulacion es una generalizacion de la regla de substitucion de iguales enel sentido de que combina en un solo paso la busqueda de una sustitucion quepermite un reemplazo de igualdad con el reemplazo en si mismo. Mientras lasreglas de inferencia que hemos visto anteriormente estan en el nivel de literales,

3.2. PARAMODULACION 47

esta regla esta orientada hacia el nivel de los terminos, situacion que resultaclara, puesto que las igualdades se dan siempre entre terminos.La regla de paramodulacion es la siguiente:

u = v ∨M2 ∨ . . . ∨Mn

L1[s] ∨ L2 ∨ . . . ∨ Lm

(L1[v] ∨ L2 ∨ . . . ∨ Lm ∨M2 ∨ . . . ∨Mn)σ

donde la notacion L[s] distingue una presencia del termino s en la literal L y σes un umg de s, u. Dentro de las premisas la clasula con la igualdad se llamaclausula origen o “desde” y la otra clausula se llama clausula destino o “hacia”;la conclusion se llama paramodulante. Observese que en la paramodulacion seesta haciendo una demodulacion a una de las literales de las clausulas padres.Veamos un par de ejemplos

Ejemplo 3.2

a = b ∨ R(b)P (a) ∨Q(b)P (b) ∨Q(b) ∨R(b)

en este caso el termino distinguido es a y el unficador es σ = ∅.

Ejemplo 3.3

f(g(b)) = a ∨ R(g(c))P (g(f(x))) ∨Q(x)P (g(a)) ∨Q(g(b)) ∨ R(g(c))

aquı el termino distinguido es f(x) y el unificador es σ = x/g(b)

En esta seccion probaremos que la combinacion de RFP-resolucion y para-modulacion es completa siguiendo el metodo de modificacion de Brand [Bra75].Todo el tiempo trabajaremos en la logica de predicados sin igualdad, de estamanera, estamos justificando el uso de la igualdad sin usar a la igualdad misma.

3.2.1 S-Interpretaciones y E-Modelos

En este apartado probaremos como se pueden garantizar las propiedades desubstitucion de la igualdad evitando el mayor numero posible de axiomas deigualdad. Como necesitamos asegurar que = es una relacion de equivalencia,incluiremos los axiomas x = x y el siguiente axioma que es una forma debil detransitividad.

A ≡ x 6= y ∨ x 6= z ∨ y = z, 1

de este ultimo axioma prescindiremos posteriormente.

Lo primero es ordenar todas las literales cerradas mediante una numeracion deGodel.

1Durante toda la seccion con ≡ denotamos a la igualdad en el metalenguaje.

48 3. LA IGUALDAD

Definicion 3.2 Sea Σ una signatura. Asociamos a cada sımbolo ∈ Σ ununico numero natural impar denotado G(). Definimos el numero de Godel deltermino cerrado t ≡ f(t1, . . . , tn) recursivamente como sigue:

G(t) ≡ 2G(f) ·n

i=1

PrG(ti)i+1

donde Pri es el i-esimo numero primo.

Proposicion 3.1 Los numeros de Godel cumplen con las siguientes propieda-des:

1. Si t es un subtermino de s, entonces G(t) ≤ G(s) y la igualdad se da sysss ≡ t.

2. Si G(t) < G(s), s es un subtermino de r, y r′ se obtiene de r reemplazandouna presencia de s por t, entonces G(r′) < G(r).

dem:

Por induccion sobre los terminos cerrados. a

La nocion de numero de Godel se extiende a literales y clausulas como sigue.

Definicion 3.3 Sea L una literal positiva. Definimos el numero de Godel deL como

G(L) =

2G(P ) ·∏n

i=1 PrG(ti)i+1 si L ≡ P (t1, . . . , tn)

G(s) si L ≡ s = t

En el caso de que L sea una literal negativa definimos G(L) = G(Lc).

Proposicion 3.2 Si L es una literal en la que figura s entonces

G(s = t) < G(L[s]),

exceptuando posiblemente los casos L ≡ s = r o L ≡ s 6= r.2

dem:

Resulta claro a partir de la definicion de G. a

Definicion 3.4 Sean C una clausula cerrada y t1, . . . , tn todos los terminos quefiguran en C a nivel de argumento. Definimos el numero de Godel de C como

G(C) =

n∑

i=1

G(ti)

2La desigualdad tampoco es cierta si G(p) < G(s) y L ≡ p = s o L ≡ p 6= s pero este casono sera permitido.

3.2. PARAMODULACION 49

Proposicion 3.3 Si G(s) < G(t) y la clausula C ′ se obtuvo a partir de Creemplazando algunas presencias de s por t entonces G(C) < G(C ′).

dem:

Por induccion sobre los terminos cerrados. a

Para evitar exceso de sımbolos, algunas veces abusaremos de la notacion escri-biendo C < C ′ en lugar de G(C) < G(C ′).

Definicion 3.5 Una interpretacion simetrica o S-interpretacion es una asig-nacion de valores (verdadero o falso) a cada literal cerrada, la cual interpreta ala igualdad de manera simetrica, es decir, s = t y t = s tienen el mismo valorde verdad.

Generalmente denotamos a una S-interpretacion como el conjunto de clausulasque son verdaderas en ella. Para facilitar el trabajo, en el caso de la igualdad,solo utilizaremos igualdades orientadas, de manera que el termino mas complejosea el del lado izquierdo. Por ejemplo una S-interpretacion puede contener ala igualdad f(b) = b pero no a b = f(b). Esto se formaliza en la siguientedefinicion.

Definicion 3.6 Una literal L pertenece a la S-interpretacion M syss L es ver-dadera en M y no es de la forma s = t o s 6= t, donde G(s) < G(t).

Si tenemos una S-interpretacion parcial , es decir, un subconjunto (no nece-sariamente propio) de una S-interpretacion, a las literales de esta las ordenamossegun sus numeros de Godel. Las literales con igual numero de Godel son lasigualdades o sus negaciones y se ordenan segun el numero del termino de laderecha. Observese que si la literal s = t pertenece a una S-interpretacionentonces s no es un subtermino propio de t.

Definicion 3.7 Una S-interpretacion M es un S-modelo para un conjunto declausulas S syss M es un modelo de IC(S).

Resulta adecuado observar que S tiene un S-modelo syss S∪x 6= y∨y = xtiene un modelo.

Definicion 3.8 Sea M una S-interpretacion parcial. Una E-inconsistenciac.r.a.3 s = t en M es un par de literales (L[s],¬L[t]) que son verdaderasen M . Una E-inconsistencia en M es una terna (s = t, L[s],¬L[t]) tal que s = tes verdadera en M y (L[s],¬L[t]) es una E-inconsistencia c.r.a. s = t. M esE-consistente c.r.a. s = t si no contiene E-inconsistencias c.r.a. s = t. M esE-consistente si no tiene E-inconsistencias.

Las literales de una S-interpretacion M estan ordenadas de manera que siM es modelo de x 6= y ∨ x 6= z ∨ y = z, x = x y (s = t, L[s],¬L[t]) es unaE-inconsistencia en M entonces L[s] es mayor que s = t y ¬L[t].

3c.r.a. abrevia “con respecto a”.

50 3. LA IGUALDAD

Definicion 3.9 Una S-interpretacion M es un E-modelo para S syss M es unS-modelo para S ∪ x = x y M es E-consistente.

Proposicion 3.4 M es un E-modelo para S syss M es un modelo para S∪E.

dem:

⇐ ) Como M es un modelo de los axiomas de igualdad, basta ver que M esE-consistente, pero esto es inmediato, pues la existencia de una E-inconsistenciacontradice a los axiomas de igualdad.⇒ ) Supongamos lo contrario. Tenemos tres casos:

1. M no satisface al axioma

x 6= y ∨ ¬P (x1, . . . , x, . . . , xn) ∨ P (x1, . . . , y, . . . , xn),

entonces existen terminos cerrados r1, . . . , rn, s, t tales que las tres literaless = t, P (r1, . . . , s, . . . , rn),¬P (r1, . . . , t, . . . , rn) son verdaderas en M , locual contradice la E-consistencia de M .

2. M no satisface al axioma de transitividad

x 6= y ∨ y 6= z ∨ x = z

de manera que existen terminos cerrados t1, t2, t3 tales que las literalest1 = t2, t2 = t3, t1 6= t3 son verdaderas en M . En tal caso, dichas literalesconstituyen una E-inconsistencia en M , lo cual es absurdo.

3. M no satisface al axioma

x 6= y ∨ f(x1, . . . , x, . . . , xn) = f(x1, . . . , y, . . . , xn),

entonces hay terminos cerrados r1, . . . , rn, s, t tales que las dos literales s =t, f(r1, . . . , s, . . . , rn) 6= f(r1, . . . , t, . . . , rn) son verdaderas en M y comof(r1, . . . , s, . . . , rn) = f(r1, . . . , s, . . . , rn) es verdadera en M entonces Mes E-inconsistente c.r.a. s = t, lo cual contradice la E-consistencia de M .

a

Definicion 3.10 Sean M una S-interpretacion, s, t terminos tales que G(s) >G(t). Para cada literal L ∈ M definimos la S-interpretacion parcial ML recur-sivamente como sigue:Supongase que MK esta definida para cada K ∈ M tal que K < L. SeaM ′

L =⋃

K<LMK . Hay dos casos:

1. Si s no figura en L definimos ML = M ′L ∪ L.

3.2. PARAMODULACION 51

2. Supongamos que s figura en L. Sea L′ la literal obtenida a partir de Lreemplazando una presencia arbitraria de s por t.4 Por la proposicion 3.3tenemos que L′ < L. Definimos

ML =

M ′L ∪ L Si M ′

L |= L′

M ′L ∪ ¬L en otro caso.

Proposicion 3.5 La S-interpretacion parcial ML tiene las siguientes propieda-des:

1. Para cada K ∈ M , si K ≤ L entonces K ∈ ML o ¬K ∈ ML y solo una.Ademas estas son las unicas literales que pertenecen a ML.

2. ML es E-consistente c.r.a. s = t.

3. Si K ≤ L entonces MK ⊆ML.

dem:

Por <-Induccion sobre L.

a) s no figura en L. Las propiedades 1 y 3 son claras. La propiedad 2 secumple puesto que si hay una E-inconsistencia c.r.a. s = t, por HI, enella tiene que participar L. Ası que L tendrıa que ser de la forma L[t]donde ¬L[s] tambien es verdadera en M , lo cual no es posible pues, porla proposicion 3.3 se tiene L[t] < ¬L[s] lo cual no es posible segun loobservado al terminar la definicion 3.8.

b) s figura en L. Nuevamente las propiedades 1 y 3 resultan claras. Lapropiedad 2 se cumple por construccion de ML.

a

Definicion 3.11 Sean M una S-interpretacion y s, t terminos tales que G(s) >G(t). Definimos la S-interpretacion M [s/t] como

M [s/t] =⋃

L∈M

ML

Proposicion 3.6 M [s/t] cumple lo siguiente:

a) Si s no figura en L entonces M |= L syss M [s/t] |= L.

b) M [s/t] es E-consistente c.r.a. s = t

c) s = t ∈M [s/t] solo si t = t ∈M .

4La definicion es independiente de la eleccion de una presencia de s pues, como veremosadelante, ML sera E-consistente c.r.a. s = t.

52 3. LA IGUALDAD

dem:

Esta demostracion no figura en la literatura sobre el tema.

a) ⇒ ) Supongamos que M |= L y s no figura en L. Entonces L ∈ ML =M ′

L ∪ L ⊆M [s/t]. Por lo tanto M [s/t] |= L.⇐ ) Si L /∈ M entonces ¬L ∈ M , ası que por lo anterior tenemos ¬L ∈M [s/t], es decir M [s/t] 6|= L.

b) Si existiera L tal que M [s/t] |= L[s],¬L[t], s = t. Tendrıamos queML = M ′

L ∪ ¬L, por lo tanto ¬L ∈ M [s/t] , lo cual es absurdo, puesM [s/t] |= L.

c) Si t = t /∈M entonces, por a), t = t /∈M [s/t], es decir, t 6= t ∈M [s/t]. Siademas suponemos que s = t ∈M [s/t] tendrıamos que (s = t, t 6= t, s = t)es una E-inconsistencia, lo cual contradice a b).

a

Definicion 3.12 Un termino no variable es un termino que no es una variable,es decir, es una constante o un termino compuesto.

Definicion 3.13 Una clausula C esta en E-forma syss todo termino no variableque figura en C lo hace unicamente como argumento de = o de 6=.

Ejemplo 3.4 La clausula C ≡ f(c) = x ∨ g(x, y) = w ∨ y = z no esta en E-forma pues el termino no variable c no figura como argumento de igualdad sinocomo argumento de un sımbolo de funcion.

Mas adelante veremos como construir, dada una clausula C, una clausula C ′

en E-forma tal que C ∼sat C′.

Lema 3.1 Sea M un S-modelo para un conjunto de clausulas en E-forma S quecontiene a los axiomas A ≡ x 6= y ∨ x 6= z ∨ y = z y x = x. Si s = t ∈ Mentonces M [s/t] es un S-modelo para S.

dem:

Supongamos lo contrario. En tal caso existen C0 ∈ S y C ∈ IC(S) tales queC es una instancia de C0 con numero de Godel mınimo entre las clausulas quecumplen M [s/t] 6|= C. Hay tres posibilidades:

s no figura en C. Entonces M 6|= C, por la proposicion 3.6a, lo cual esabsurdo, pues M es un S-modelo para S.

Hay una presencia de s en C que no es argumento de igualdad. Sea σtal que C = C0σ. Como C0 esta en E-forma σ debe asignar un terminor[s] a una variable x de C0. Sea σ′ tal que xσ′ = r[t] y yσ′ = yσ six 6= y. Entonces se tiene G(C0σ

′) < G(C) de donde M [s/t] |= C0σ′, por

3.2. PARAMODULACION 53

la minimalidad de C. El valor de verdad de todas las literales de C esel mismo que el de las literales de C0σ

′, pues de lo contrario habrıa unaE-inconsistencia c.r.a. s = t en M [s/t]. Por lo tanto M [s/t] |= C lo cuales absurdo.

Todas las presencias de s en C son argumentos de igualdad.Basta observar que el valor de verdad de las literales s = r, r = s, s 6=r, r 6= s en M [s/t] es el mismo que en M . Por ejemplo, si M |= s = r,para que M [s/t] 6|= s = r se tendrıa que cumplir M |= t 6= r (de locontrario M |= t = r y por 3.6a, M [s/t] |= t = r, obteniendose una E-inconsistencia c.r.a. s = t, lo cual es absurdo por 3.6b).Ası que tendrıamos M |= s = r ∧ t 6= r, pero esto contradice claramente alos axiomas A y x = x debido a que s = t ∈M . Por lo tanto M [s/t] |= Clo cual contradice a la eleccion de C.

a

Teorema 3.1 Sea S un conjunto satisfacible de clausulas en E-forma tal queA, x = x ∈ S. Entonces S tiene un E-modelo.

dem:

Tenemos que ver que S∪x = x = S tiene un S-modelo E-consistente, es decir,debemos mostrar que existe una S-interpretacion E-consistente que es modelode IC(S). Como A, x = x |= x 6= y ∨ y = x entonces cualquier interpretacionque sea modelo de IC(S) es simetrica. Por lo tanto basta ver que IC(S) tieneun modelo E-consistente.Como S es satisfacible tiene un modelo y, por el teorema de Herbrand 1.3, IC(S)tiene un modelo. Ası que basta ver que hay un modelo E-consistente. Para estoconstruiremos modelos M de IC(S) tal que dado cualquier n ∈ N el conjuntoMn de las primeras n literales de M resulta E-consistente.Sea M un S-modelo para S y n maxima tal que Mn es E-consistente, si nohay tal n entonces M es consistente y terminamos. En tal situacion existenterminos s, t y una literal L tales que L[s] es la (n+1)-esima literal de M y(s = t, L[s],¬L[t]) es una E-inconsistencia en M . A partir de M vamos aconstruir un modeloM∗ de S tal queM∗

n+1 sea E-consistente. SeaM∗ = M [s/t],por el lema 3.1 este es un modelo de S. Como Mn es E-consistente tenemos queM∗

n = Mn, ası que para mostrar la E-consistencia de M ∗n+1 basta ver que no

hay inconsistencias que involucren a la (n+1)-esima literal de M ∗ que es ¬L[s].Supongamos lo contrario, esto obliga a que exista una E-inconsistencia, digamosc.r.a. p = q ∈Mn (G(q) < G(p)); por lo que p debe figurar en ¬L[s]. Tenemostres casos:

p es subtermino de s. Entonces s ≡ s[p].Dado que s[p] = t ∈ Mn y s[q] = t ∈ M entonces, como G(s[q]) <G(s[p]) tenemos s[q] = t ∈ Mn o t = s[q] ∈ Mn y ademas L[s[p]] ∈ Mn.Supongamos spg que s[q] = t ∈Mn, esto lleva a la E-inconsistencia (s[q] =t,¬L[t], L[s[q]]) en Mn contradiciendo la E-consistencia de Mn.

54 3. LA IGUALDAD

s es un subtermino de p. Entonces p ≡ p[s] y L[s] ≡ L[p[s]].De manera analoga al caso anterior podemos suponer que p[t] = q ∈Mn.Ası tenemos la E-inconsistencia (p[t] = q,¬L[p[t]], L[q]) en Mn, lo cualresulta absurdo.

s y p son terminos ajenos. Entonces L[s] ≡ L[s, p], ası que ¬L[t, p], L[s, q]∈ Mn. Si M |= L[t, q], (p = q,¬L[t, p], L[t, q]) es una E-inconsistencia enMn. En caso contrario (s = t, L[s, q],¬L[t, q]) es una E-inconsistencia enMn. Nuevamente obtuvimos una contradiccion.

aPara terminar la seccion mostramos como eliminar el axioma A.

Definicion 3.14 Una clausula C esta en forma transitiva o T-forma si cadaigualdad que figure en C es de la forma s = w donde w es una variable, Ccontiene tambien una literal t 6= w y estas son las unicas presencias de w en C.

Una clausula se transforma en T-forma si cada una de sus igualdades s = t sesustituye por s = w ∨ t 6= w, donde w es una variable que no figuraba en laclausula.

Definicion 3.15 Un conjunto de clausulas S esta en forma simetrica-transitivao ST-forma si cada clausula de S esta en T-forma y si (t 6= w∨ s = w)∨C ′) ∈ S

entonces (s 6= w ∨ t = w) ∨ C ′) ∈ S.

En una clausula en ST-forma tenemos que se consideran ambos lados de unaigualdad s = t y t = s sustituyendolos por sus T-formas.

Proposicion 3.7 Sea S un conjunto de clausulas en ST-forma. Entonces

S ∪ x = x ∼sat S ∪ A, x = x

dem:

Vease [Bra75]. a

3.2.2 El Metodo de modificacion

La nocion fundamental para el metodo de modificacion es la de socio. La idea esla siguiente: “sacar” un termino t de una literal P (t) y hacerlo su socio medianteuna variable. Por ejemplo, la literal P (f(a)) se reemplaza por f(a) 6= w∨P (w),donde w es una variable nueva. A f(a) 6= w se le llama socio de P (w). A cadaliteral se le asocia un numero natural llamado el nivel, en el ejemplo anteriorel nivel de Pw es 0 y el nivel de f(a) 6= w es 1. La literal f(a) 6= w se sigueprocesando sacando el termino a obteniendose la clausula a 6= u ∨ f(u) 6= w,a 6= u es socio de f(u) 6= w y su nivel es 2. Una literal se puede ver como unarbol, donde los nodos son los socios y en la raız figura el predicado original.

3.2. PARAMODULACION 55

Definicion 3.16 Una clausula aplanada C es un bosque de literales tal quecada literal L que no es raız tiene la forma s 6= w, donde la variable w tieneexactamente otra presencia en C en el predecesor inmediato K de L. En talsituacion L es socio de K. Si K es de la forma t = w entonces L es un T-sociode K y (L,K) es un par de T-socios.

Definicion 3.17 A toda literal de una clausula aplanada se le asocia un nivelcomo sigue: las raices tienen nivel 0 y los socios de K tienen el nivel de K masuno.

Definicion 3.18 La E-modificacion EMod(C) de una clausula C se define re-cursivamente como sigue:

• Si C esta en E-forma entonces EMod(C) ≡ C.

• Sea s un termino no variable que figura en C pero no como argumento de= y sea C ′ obtenida a partir de C reemplazando L[s] por s 6= w ∨ L[w]donde w es una variable nueva. Entonces EMod(C) ≡ EMod(C ′).

Ejemplo 3.5 Sean D ≡ Q(ha, gb, x)∨ga = hb, C ≡ Pf(a, gx)∨f(x, y) = g(a).Construimos detalladamente sus E-modificaciones:

EMod(D) ≡ EMod(D′)

D′ ≡ ha 6= u ∨Q(u, gb, x) ∨ ga = hb

EMod(D′) ≡ EMod(D′′)

D′′ ≡ a 6= v ∨ hv 6= u ∨Q(u, gb, x) ∨ ga = hb

EMod(D′′) ≡ EMod(D′′′)

D′′′ ≡ a 6= v ∨ hv 6= u ∨ gb 6= w ∨Q(u,w, x) ∨ ga = hb

EMod(D′′′) ≡ EMod(Div)

Div ≡ a 6= v ∨ hv 6= u ∨ b 6= y ∨ gy 6= w ∨Q(u,w, x) ∨ ga = hb

EMod(Div) ≡ EMod(Dv)

Dv ≡ a 6= v ∨ . . . ∨Q(u,w, x) ∨ a 6= z ∨ gz = hb

EMod(Dv) ≡ EMod(Dvi)

Dvi ≡ a 6= v ∨ . . . ∨Q(u,w, x) ∨ a 6= z ∨ b 6= x1 ∨ gz = hx1

EMod(Dvi) ≡ Dvi

56 3. LA IGUALDAD

Por lo tanto EMod(D) ≡ Dvi.

Para C tenemos lo siguiente:

EMod(C) ≡ EMod(C ′)

C ′ ≡ f(a, gx) 6= w ∨ Pw ∨ f(x, y) = ga

EMod(C ′) ≡ EMod(C ′′)

C ′′ ≡ a 6= u ∨ f(u, gx) 6= w ∨ Pw ∨ f(x, y) = ga

EMod(C ′′) ≡ EMod(C ′′′)

C ′′′ ≡ a 6= u ∨ gx 6= v ∨ f(u, v) 6= w ∨ Pw ∨ f(x, y) = ga

EMod(C ′′′) ≡ EMod(Civ)

Civ ≡ a 6= u ∨ gx 6= v ∨ f(u, v) 6= w ∨ Pw ∨ a 6= z ∨ f(x, y) = gz

EMod(Civ) ≡ Civ

Por lo tanto EMod(C) ≡ C iv

Es claro que toda E-modificacion esta en E-forma.

Definicion 3.19 Sea C una clausula sin T-socios. La T-modificacion TMod(C)de C se obtiene reemplazando cada igualdad s = t de C por el nuevo par deT-socios t 6= w ∨ s = w. Donde w es una variable nueva llamada la nuevaT-variable.

Observese que los T-socios tienen nivel 1.

Ejemplo 3.6 Las T-modificaciones de las clausulas del ejemplo 3.5 son:

TMod(C) ≡ Pf(a, gx) ∨ ga 6= w ∨ f(x, y) = w

TMod(D) ≡ Q(ha, gb, x) ∨ hb 6= v ∨ ga = v

Toda T-modificacion esta en T-forma.

Definicion 3.20 La ST-modificacion STMod(S) de un conjunto de clausulas S

se obtiene como sigue: Sea S′ el mınimo conjunto que contiene a S y que cumpleque si s = t∨C ∈ S′ entonces t = s∨C ∈ S′. Entonces STMod(S) ≡ TMod(S′)

3.2. PARAMODULACION 57

Ejemplo 3.7 Siguiendo con las clausulas del ejemplo 3.5, sea S = C,D. LaST-Modificacion de S es:

STMod(S) = Pf(a, gx) ∨ ga 6= w ∨ f(x, y) = w,

Pf(a, gx) ∨ f(x, y) 6= w ∨ ga = w,

Q(ha, gb, x) ∨ hb 6= v ∨ ga = v,

Q(ha, gb, x) ∨ ga 6= v ∨ hb = v

Definicion 3.21 Sea S un conjunto de clausulas y S′ = EMod(S). Entonces laSTE-Modificacion STEMod(S) de S es STMod(S′). Es decir, STEMod(S) =STMod(EMod(S)).

Ejemplo 3.8 Sea S como en el ejemplo 3.7, donde

EMod(S) = C ≡ C ′ ∨ f(x, y) = gz,D ≡ D′ ∨ gz = hx1

entoncesSTEMod(S) = C ′ ∨ gz 6= y1 ∨ f(x, y) = y1,

D′ ∨ hx1 6= y2 ∨ gz = y2,

C ′ ∨ f(x, y) 6= y3 ∨ gz = y3,

D′ ∨ gz 6= y4 ∨ hx1 = y4

Las diferentes modificaciones guardan una estrecha relacion con los axio-mas de igualdad y la resolucion, como se ve en la siguiente proposicion quedemostramos a partir de una observacion en [Bra75].

Proposicion 3.8 Sea C una clausula. Cada paso realizado para producir cual-quier modificacion de C se puede hacer resolviendo C con algun axioma deigualdad.

dem:

Vamos a analizar cada modificacion.

E-Modificacion. Para producir EMod(C) se sustituye cada literal L[s],donde s figura como argumento de funcion o predicado, por s 6= w∨L[w].Digamos que C ≡ L[s] ∨ C ′ entonces la siguiente aplicacion de resolucionbinaria a C y al axioma de igualdad x 6= y ∨ ¬L[x] ∨ L[y] realiza elreemplazo deseado mediante el umg σ = x/s, y/w.

x 6= y ∨ ¬L[x] ∨ L[y] L[s] ∨ C ′

s 6= w ∨ L[w] ∨ C ′

58 3. LA IGUALDAD

T-Modificacion. Para obtener TMod(C) se reemplaza cada igualdad s = tpor t 6= w ∨ s = w. Si C ≡ C ′∨ s = t entonces resolviendoC con el axiomade igualdad x 6= y ∨ y 6= w ∨ x = w mediante el umg σ = x/s, y/tobtenemos el reemplazo deseado.

C ′ ∨ s = t x 6= y ∨ y 6= w ∨ x = w

C ′ ∨ t 6= w ∨ s = w

ST-Modificacion. Sea C ≡ s = t ∨C ′. Para obtener STMod(C), debemosobtener antes la clausula t = s ∨C ′ y despues obtener las T-modificacionesde ambas. Como el caso de T-modificaciones ya lo analizamos, basta vercomo obtener la clausula con la igualdad invertida.Tal clausula es el resolvente de C con el axioma de igualdad x 6= y ∨ y = x,mediante σ = x/s, y/t.

x 6= y ∨ y = x s = t ∨ C ′

t = s ∨ C ′

STE-Modificacion. Resulta obvio de los casos anteriores.

a

Ademas podemos, a partir de una modificacion, recuperar la clausula originalresolviendo con x = x, como lo asegura la siguiente proposicion tambien de-mostrada por nosotros a partir de una observacion en [Bra75].

Proposicion 3.9 Si D es EMod(C) o TMod(C) para alguna clausula C y D′

es la clausula que resulta al resolver todos los socios de D con el axioma deigualdad x = x entonces D′ es igual a C.

dem:

Basta analizar que sucede al resolver los socios.En una E-modificacion, el reemplazo de L[s] por s 6= w ∨L[w] se puede invertirresolviendo con x = x mediante σ = x/s, w/s.

x = x s 6= w ∨ L[w]

L[s]

Analogamente, para revertir la sustitucion de s = t por el par de T-sociost 6= w ∨ s = w, se resuelve este par con x = x mediante σ = x/t, w/t.

x = x t 6= w ∨ s = w

s = t

a

Con el siguiente teorema conseguimos un metodo para decidir la satisfacibilidadde un conjunto de clausulas con igualdad. Con la ayuda de la proposicionanterior mejoramos la demostracion original de [Bra75].

3.2. PARAMODULACION 59

Teorema 3.2 Sea S un conjunto de clausulas.S tiene un E-modelo syss STEMod(S) ∪ x = x tiene un modelo.

dem:

⇒ ) Sea M un E-modelo para S, por la proposicion 3.4 M es un modelo paraS∪E, en particularM |= x = x. Ası, como la resolucion es correcta entonces porla proposicion 3.8 podemos concluir que M es un modelo para STEMod(S) ∪x = x.

⇐ ) Como STEMod(S)∪ x = x tiene un modelo, entonces la proposicion 3.7garantiza que STEMod(S) ∪ x = x,A tiene un E-modelo, digamos M , perocada conjunto obtenido a partir de STEMod(S) resolviendo con x = x tienetambien a M como modelo. De manera que en particular, M es un E-modelode S, por la proposicion 3.9. a

3.2.3 El Teorema de Completud

En esta seccion demostraremos el teorema de completud para la paramodu-lacion con RFP-resolucion sin los axiomas funcionales reflexivos, si bien nosseguiremos basando en [Bra75], la incorporacion de la RFP-resolucion es unaaportacion nuestra que proporciona mayor claridad que el tratamiento original.La idea es transformar una refutacion obtenida mediante hiperresolucion delconjunto S ∪ x = x a una refutacion que sustituye en ciertos casos una apli-cacion de RFP-resolucion por una aplicacion de paramodulacion.

Lema 3.2 Sea S un conjunto de clausulas aplanadas. Si E es un RFP-resol-vente de clausulas de S entonces E es aplanada.

dem:

Sean C ≡ C ′ ∨ ¬Q y D′ ≡ D1 ∨ P ∨D2 tales que Q,P son atomos unificablesmediante el umg σ y D′ es variante de un factor de la clausula positiva D yC,D ∈ S. Queremos demostrar que E ≡ (D1∨D2∨C ′)σ esta aplanada. Puestoque D es positiva y aplanada, su factor D′ no puede producir socios ası que D′

permanece aplanada. Analicemos ahora al RFP-resolvente E. Cada socio en Ese obtiene aplicando σ a un socio de C (D no tiene socios pues es positiva); unsocio en C es por hipotesis de la forma s 6= w y para que σ mueva a w estatendrıa que figurar en una de las literales sobre las que se resolvio pero esto nopuede ser pues estas no tienen socios, ya que la resolucion solo se aplica a laclausula mas a la derecha en C. Por lo tanto E es aplanada. a

La siguiente definicion nos proporciona una correspondencia unıvoca que asignaa cada literal de una clausula aplanada cierta expresion mediante la cual po-dremos transfomar una derivacion dada.

60 3. LA IGUALDAD

Definicion 3.22 Sean C una clausula aplanada y L una literal de C, definimosrecursivamente ψ(L) y L como sigue:Si L no tiene socios entonces L ≡ s 6= w y definimos ψ(L) ≡ s. En otro caso,

sean L1, . . . , Ln todos los socios que figuran en L. Entonces, Li ≡ si 6= wi yL ≡ L[w1, . . . , wn]. Supongamos definidos Li a partir de Li. Entonces definimosL a partir de L como L ≡ L[ψ(L1), . . . , ψ(Ln)]. Finalmente, si L tiene nivelcero entonces definimos ψ(L) ≡ L y si L tiene nivel mayor que cero entonces Les de la forma s 6= w y definimos ψ(L) ≡ s.Por ultimo extendemos ψ a clausulas aplanadas como:

ψ(C) ≡∨

ψ(L) | L figura en C y L tiene nivel cero

Esta complicada definicion se vera mejor con un ejemplo.

Ejemplo 3.9 Sea C ≡ a 6= u∨gx 6= v∨f(u, v) 6= w∨Pw∨a 6= z∨f(x, y) = gz.Obtenemos ψ(L) para todas las literales de C:

1. ψ(a 6= u) ≡ a pues a 6= u no tiene socios.

2. ψ(gx 6= v) ≡ gx pues gx 6= v no tiene socios.

3. L ≡ f(u, v) 6= w tiene como socios a a 6= u, gx 6= v y tiene nivel mayor quecero, pues es socio de Pw. Ası que L ≡ (f(u, v) 6= w)[ψ(a 6= u), ψ(gx 6=v] ≡ (f(u, v) 6= w)[a, gx] ≡ f(a, gx) 6= w. ∴ ψ(f(u, v) 6= w) ≡ f(a, gx).

4. L ≡ ψ(Pw) tiene nivel cero, ası que ψ(L) = L, donde L ≡ Pw[ψ(f(u, v) 6=w)] ≡ Pw[f(a, gx)] ≡ Pf(a, gx). ∴ ψ(Pw) ≡ Pf(a, gx).

5. ψ(a 6= z) ≡ a pues a 6= z no tiene socios.

6. L ≡ f(x, y) = gz tiene nivel cero. En este caso L ≡ (f(x, y) = gz)[ψ(a 6=z] ≡ (f(x, y) = gz)[a] ≡ f(x, y) = ga. ∴ ψ(f(x, y) = gz) ≡ f(x, y) = ga.

La idea para la prueba de completud es reemplazar cada aplicacion de RFP-resolucion donde se resolvio un socio de una clausula aplanada por una apli-cacion de paramodulacion cuyo paramodulante es el RFP-resolvente.

Teorema 3.3 (Completud de la Paramodulacion).Sea S un conjunto de clausulas que no tiene E-modelo. Entonces existe unarefutacion de S ∪ x = x que solo utiliza las reglas de RFP-resolucion yParamodulacion.

dem:

Sea S ≡ EMod(S). Por el teorema 3.1 el conjunto S∪A, x = x es no satisfaci-ble. Ası que, por la proposicion 3.7 el conjunto S∪x = x es no satisfacible, porlo tanto el teorema 2.7 garantiza que S∪x = x tiene una refutacion mediante

3.2. PARAMODULACION 61

hiperresolucion5. Dicha refutacion se puede ver como una refutacion utilizandoRFP-resolucion, pues ası esta definida la hiperresolucion. Sea ∆ una refutacionde S∪ x = x que utiliza unicamente RFP-resolucion. Puesto que S∪ x = xconsiste de clausulas aplanadas, el lema 3.2 garantiza que ∆ consta de clausulasaplanadas.A partir de ∆ vamos a definir una refutacion ∆ que utiliza paramodulacion.Sea ∆ ≡ (C1, . . . , Cm) entonces definimos ∆ ≡ (ψ(C1), . . . , ψ(Cm)). Ahorafalta definir las justificaciones de cada paso en la derivacion ∆.Con ayuda de la proposicion 3.9 podemos ver facilmente que si C ∈ EMod(S)entonces ψ(C) ≡ C. Ası que si Ci se justificaba como elemento de S entoncesψ(Ci) se justifica como elemento de S en ∆.Si Ci se obtuvo mediante RFP-resolucion de Cj , Ck entonces hay dos casos:

1. Se resolvio un socio. Este caso corresponde a la paramodulacion. La

situacion es como sigue: Cj ≡ Cj

′∨ L[w] ∨ s′ 6= w, Ck ≡ s = t ∨ Ck

′y

entonces Ci ≡ (Cj

′∨ L[w] ∨ Ck)σ ,donde σ es umg de s′ = w, s = t.

Es decir, se aplico RFP-resolucion de la siguiente manera:

Cj

′∨ L[w] ∨ s′ 6= w s = t ∨ Ck

(Cj

′∨ L[w] ∨ Ck)σ

Las imagenes respectivas de Cj , Ck, Ci son Cj ≡ C ′j ∨ L[s′], Ck ≡ s =

t ∨ C ′k, Ci ≡ (C ′

j ∨ L[w] ∨ C ′k)σ de manera que el RFP-resolvente Ci se

mapea en un paramodulante desde Ck hacia Cj . Como s′σ = sσ, wσ = tσla paramodulacion queda como sigue:

s = t ∨ C ′k

C ′j ∨ L[s′]

(C ′j ∨ L[t] ∨ C ′

k)σ

Supongamos que este caso se ha realizado exhaustivamente y pasemos alsiguiente caso.

2. Se resolvio una literal L de nivel cero. Como ya no hay socios tenemosψ(L) ≡ L y todo queda igual en ∆.

Finalmente, como ∆ es una refutacion de S∪x = x mediante RFP-resoluciony claramente ψ() ≡ , entonces ∆ es una refutacion de S mediante RFP-resolucion y Paramodulacion. a

De manera que con el metodo de modificacion hemos logrado probar la com-pletud de la paramodulacion junto con resolucion, o en nuestro caso RFP-resolucion. Una de las ventajas del metodo con respecto a la paramodulaciones su completud junto con la estrategia del conjunto de soporte, cuestion queno debe ser difıcil de mostrar con lo desarrollado hasta ahora: para mostrar

5Pues todo operador de refinamiento define un refinamiento, segun el teorema 2.6.

62 3. LA IGUALDAD

la completud de paramodulacion con conjunto de soporte necesitamos los axio-mas reflexivos funcionales, una prueba de esto se encuentra en [WR70]. Unade las desventajas del metodo con respecto a la paramodulacion es que resultadeductivamente mas debil, como se muestra en el siguiente ejemplo

Ejemplo 3.10 A partir del conjunto S = a = b, Pfa,¬Px ∨ Qxx, x = xse puede derivar mediante paramodulacion Qfafb. Mientras que a partir delconjunto modificado S = b 6= w ∨ a = w, a 6= w ∨ Pfw,¬Px ∨ Qxx, x = xresolucion puede derivar Qfafa,Qfbfb pero no Qfafb.

Actualmente el estudio de la paramodulacion sigue en progreso. Para un pano-rama del estado actual de las investigaciones en este campo vease [McC97].

3.3 Reescritura de Terminos

La habilidad para razonar con ecuaciones es importante en diversas aplicacionesen ciencias de la computacion, incluyendo especificaciones algebraicas, lenguajesde programacion de alto nivel y, por supuesto, razonamiento automatico. Elrazonamiento sobre ecuaciones tiene que ver, por ejemplo, con el problema dedecidir si una determinada ecuacion se sigue como consecuencia logica de unconjunto dado de ecuaciones, si una ecuacion es verdadera en un modelo dado,o que valores de las variables satisfacen una ecuacion dada.

3.3.1 Sistemas Ecuacionales

Definicion 3.23 Una ecuacion es una formula atomica del tipo s = t, dondes, t son terminos de la signatura dada.

Definicion 3.24 Un sistema ecuacional es un conjunto de ecuaciones.

Frecuentemente estamos interesados en saber si una ecuacion es consecuen-cia logica de un sistema ecuacional dado. Por ejemplo, tal vez quisieramos sabersi todo grupo de exponente 2 es abeliano, es decir, para el no iniciado en teorıade grupos, si la ecuacion x ∗ y = y ∗ x es consecuencia logica del sistema ecua-cional x ∗ e = x, x ∗ i(x) = e, (x ∗ y) ∗ z = x ∗ (y ∗ z), x2 = e. Los sistemasecuacionales son de interes para las ciencias de la computacion ası como para lasmatematicas. Estructuras de datos muy comunes como listas y stacks (pilas) sepueden describir mediante un sistema ecuacional.

Ejemplo 3.11 El siguiente sistema ecuacional describe el tipo de datos pila(stack):

pop(push(y,x))=y.

pop(nil)=nil.

top(nil)=0.

3.3. REESCRITURA DE TERMINOS 63

top(push(y,x))=x.

Los sistemas para mecanizar el razonamiento ecuacional en una computadora seestan volviendo cada dia mas poderosos. Por otra parte un programa funcionales esencialmente un sistema ecuacional, que incluye tıpicamente funciones deorden superior, y la ejecucion del programa es entonces un tipo de razonamientoecuacional. Para una introduccion avanzada al tema sugerimos consultar [Klo92,Pla94].

Definicion 3.25 Sea E un sistema ecuacional. Definimos la relacion→E entreterminos, como sigue:

s→E t syss existe l = r ∈ E tal que s = w[lσ] y t = w[rσ]

para algun termino w y sustitucion σ. Donde la notacion w[t] significa que eltermino w contiene a t como subtermino.A partir de →E definimos las siguientes relaciones:

→+E es la cerradura transitiva de →E .

→∗E es la cerradura reflexiva y transitiva de →E .

←E es la inversa de →E .

↔E es →E ∪ ←E .

Para una definicion mas detallada de los conceptos anteriores vease el apendicede [SA91].

La relacion →E tiene relacion con el llamado Calculo de Birkhoff.El Calculo de Birkhoff B es un subcalculo del calculo de Hilbert con igualdad,que consta del esquema de axioma de reflexividad t = t y de las siguientes reglasde inferencia:

s = t

t = sSimetrıa

s = t t = r

s = rTransitividad

s1 = t1, . . . , sn = tnf(s1, . . . , sn) = f(t1, . . . , tn)

Congruencias = t

sσ = tσSustitucion

Ejemplo 3.12 Sea E el sistema ecuacional del ejemplo 3.11.EntoncesE `B push(s, 1) = push(pop(push(s, 0)), 1) mediante la siguiente derivacion:

pop(push(s, x)) = s Elemento de Epop(push(s, 0)) = s Sustitucion1 = 1 Axiomapush(pop(push(s, 0)), 1) = push(s, 1) Congruenciapush(s, 1) = push(pop(push(s, 0)), 1) Simetrıa

64 3. LA IGUALDAD

B es un calculo completo y correcto.

Teorema 3.4 (Birkhoff, 1935)Sea E un sistema ecuacional. Entonces para cualesquiera terminos s, t:

E |= s = t syss E `B s = t

dem:

Vease [SA91] a

Este teorema proporciona un metodo para derivar las consecuencias logicas deun sistema ecuacional. Sin embargo es ineficiente, desde el punto de vista com-putacional, por eso estamos interesados en encontrar restricciones de las reglasde B que sean capaces de derivar las consecuencias logicas de un sistema ecua-cional dado. Esto es la motivacion para la teorıa de sistemas de reescritura determinos.La ventaja de la relacion →E resalta en este momento al compararla con laderivacion que acabamos de hacer, pues push(pop(push(s, 0)), 1)→E push(s, 1)lo cual es claramente mas simple de obtener que la derivacion. En la siguienteseccion quedara mas clara la importancia de la relacion →E .

3.3.2 Sistemas de Reescritura de Terminos

La idea de un sistema de reescritura de terminos (s.r.t.) es orientar una ecuacionr = s convirtiendola en una regla r → s, la cual indica que las instancias deltermino r pueden reemplazarse por instancias de s pero no al reves.De que manera orientar reglas y que condiciones garantizan que los sistemasresultantes tengan el mismo poder computacional que los sistemas ecuacionalesde los que provienen, son dos de los principales topicos de estudio en el area dereescritura de terminos.

Definicion 3.26 Un Sistema de Reescritura de Terminos R sobre un conjuntode terminos T es un conjunto de ecuaciones orientadas, llamadas reglas dereescritura. Cada una de ellas es de la forma l → r donde l, r ∈ T . De maneraque un s.r.t. se puede ver como una relacion binaria sobre T .

De manera analoga a la relacion →E se definen las relaciones→R,→+R, →

∗R

←R,↔R para cualquier s.r.t. R.

Una primera relacion entre un s.r.t. y un sistema ecuacional es la siguiente.Dado un s.r.t. R definimos el sistema ecuacional asociado a R, ER como ER =s = r | s→ r ∈ R, el corolario al siguiente teorema relaciona a R con ER.

Teorema 3.5 Sean s = t una ecuacion, R un s.r.t y ER el sistema ecuacionalasociado a R. Entonces

ER |= s = t syss s↔∗ER

t

3.3. REESCRITURA DE TERMINOS 65

dem:

Ver [SA91] a

Corolario 3.1 ER |= s = t syss s↔∗R t

dem:

Es trivial. a

Aun cuando ya tenemos una relacion entre los dos conceptos, el hecho de que lareescritura pueda ir en ambas direcciones en s ↔∗

R t es una desventaja puestoque la completud del sistema no genera un procedimiento de decision optimo.Lo que mostraremos es que si R tiene ciertas propiedades entonces ER |= s = tsyss cualquier forma normal de s es identica a cualquier forma normal de t.Esto genera un procedimiento que permite decidir la consecuencia logica ree-scribiendo ambos terminos en formas normales y checando si estas son identicassintacticamente.

Las siguientes definiciones son para cualquier relacion binaria → ⊆ T × T .

Definicion 3.27 Un termino t es irreducible si no puede ser reescrito. Si r →∗ sy s es irreducible decimos que s es una forma normal de r o que r se reduce as.

Definicion 3.28 La relacion binaria→ tiene la propiedad de Church-Rosser siy solo si ↔∗⊆→∗ ←∗. Es decir, si s ↔∗ t implica que existe r ∈ T tal ques→∗ r ←∗ t.

Definicion 3.29 La relacion binaria→ es confluente si y solo si←∗ →∗⊆→∗

←∗. Es decir, para cualesquiera terminos r, s, t, si s←∗ r →∗ t entonces existeun termino l tal que s→∗ l ←∗ t.

Diremos que un s.r.t. R es Church-Rosser (Confluente) en el caso en que →R

sea Church-Rosser (Confluente). Uno de los resultados basicos de la teorıa dereescritura de terminos es la equivalencia entre las dos propiedades anteriores;para facilitar la demostracion de tal hecho introducimos las siguientes relacionesauxiliares:

s ↓ t syss s→∗ r ←∗ t para algun r ∈ T

s ↑ t syss s←∗ r →∗ t para algun r ∈ T

Con estas relaciones auxiliares, las propiedades de Church-Rosser y confluenciaquedan enunciadas como sigue:

66 3. LA IGUALDAD

→ es Church-Rosser syss s↔∗ t implica s ↓ t.

→ es Confluente syss s ↑ t implica s ↓ t.

Los siguientes lemas son necesarios para la demostracion del teorema 3.6;con ↓n denotamos la composicion de ↓ consigo misma n veces.

Lema 3.3 Si R es confluente y s ↓2 t entonces s ↓ t.

dem:

Como s ↓2 t entonces existe un termino r tal que s ↓ r y r ↓ t. Ası que existenterminos q1, q2 tales que s →∗ q1 ←∗ r y r →∗ q2 ←∗ t, lo cual implica queq1 ←∗ r →∗ q2, es decir, q1 ↑ q2. Ahora bien, ya que R es confluente y q1 ↑ q2entonces q1 ↓ q2. Por lo tanto existe un termino w tal que q1 →

∗ w ←∗ q2, dedonde obtenemos s→∗ q1 →∗ w ←∗ q2 ←∗ t y en conclusion s ↓ t. a

Lema 3.4 Si s↔∗ t entonces s ↓n t para alguna n ∈ ω.

dem:

Observese que para cualesquiera terminos r, u, si r →∗ u o u→∗ r entonces r ↓ udebido a que r →∗ r y u →∗ u, puesto que entonces se obtiene r →∗ u ←∗ u or →∗ r ←∗ u, es decir, r ↓ u. Ası que por lo anterior y por la definicion de ↔∗,dado que existen terminos r1, . . . , rm tales que s ↔∗ r1 ↔∗ . . . ↔∗ rm ↔∗ t,podemos concluir que existe una n ∈ ω tal que s ↓n t. a

Con la ayuda de los dos lemas anteriores podemos probar la equivalencia anun-ciada.

Teorema 3.6 Si R es un s.r.t. entonces R es Church-Rosser si y solo si R esconfluente.

dem:

Sea →∗=→∗R.

⇒ ) Tomemos dos terminos tales que s ↑ t, lo que queremos ver es que s ↓ t.Por hipotesis existe un termino r tal que s←∗ r →∗ t.r →∗ s implica r ↔∗ s y r →∗ t implica r ↔∗ t; finalmente s↔∗ r ↔∗ t por loque s↔∗ t y como R es Church-Rosser entonces s ↓ t.⇐ ) Tomemos dos terminos tales que s ↔∗ t. Queremos demostrar que s ↓ t.Por el lema 3.4 tenemos que s ↓n t para alguna n ∈ ω. El caso no trivial escuando n ≥ 2.Mediante induccion sobre n mostraremos que si s ↓n t y n ≥ 2 entonces s ↓ t.La base de la induccion resulta inmediata a partir del lema 3.3. Supongase ques ↓n+1 t y n ≥ 1 , en tal caso existe un termino r tal que s ↓2 r ↓n−1 t. Usandoel lema 3.3 tenemos que s ↓ r, por lo que s ↓n t y por HI podemos concluir ques ↓ t. a

3.3. REESCRITURA DE TERMINOS 67

Definicion 3.30 Un s.r.t R es terminal si no tiene sucesiones infinitas de rees-critura, es decir si la relacion →R es bien fundada.

Informalmente lo anterior significa que el proceso de reescritura aplicadoa un termino terminara eventualmente sin importar como se aplicaron las re-glas de reescritura. Los sistemas terminales tambien se conocen como sistemasfuertemente normalizables o Noetherianos.

Ejemplo 3.13 El sistema R = g(x)→ f(x), f(x)→ x es terminal.Esto es claro, pues la primera regla, que cambia las presencias de g por f , solopuede ser aplicada tantas veces como presencias de g haya en el termino y lasegunda regla solo se puede aplicar tantas veces como presencias de f tenga eltermino.Como ejemplo de sistema no terminal tenemos a R = x→ f(x)

Definicion 3.31 Un orden de terminacion para los terminos es un orden par-cial > que satisface las siguientes propiedades:

1. > es bien fundado.

2. Propiedad de Invariancia Total: Sea σ una sustitucion. Si s > t entoncessσ > tσ.

3. Propiedad de Reemplazo: Si s > t entonces f(. . . s . . .) > f(. . . t . . .)

Los ordenes de terminacion son una herramienta para mostrar si un sistemaes terminal, como lo asegura el siguiente teorema.

Teorema 3.7 Sean R un s.r.t y > un orden de terminacion. Si R ⊆ > entoncesR es terminal.

dem:

Esto es inmediato puesto que > es bien fundado, de manera que la existencia deuna R-sucesion infinita decreciente implicaria la existencia de una >-sucesioninfinita decreciente, lo cual es absurdo. a

Si R es terminal siempre podemos encontrar una forma normal de cualquiertermino, pues toda secuencia de reescritura termina de manera que el ultimoelemento sera una forma normal. Sin embargo, un termino puede tener mas deuna forma normal.Si R es terminal y ademas confluente, cualquier termino tendra siempre una ysolo una forma normal.

Definicion 3.32 Si R es terminal y confluente decimos que R es canonico.

Aun no tenemos herramienta suficiente para mostrar si un sistema es con-fluente, por lo pronto damos un ejemplo de s.r.t no confluente.

68 3. LA IGUALDAD

Ejemplo 3.14 Considerese el s.r.t. R que consta de las siguientes reglas:

(1) not(not(x)) → x

(2) not(or(x, y)) → and(not(x), not(y))

(3) not(and(x, y)) → or(not(x), not(y))

(4) and(x, or(y, z)) → or(and(x, y), and(x, z))

(5) and(or(x, y), z) → or(and(x, z), and(y, z))

este sistema convierte una expresion booleana a forma normal disyuntiva.Es claro que R es terminal pues las negaciones y conjunciones se van reco-rriendo a la derecha, proceso que solo puede realizarse un numero finito deveces. Sin embargo R no es canonico ya que no es confluente. El terminoand(or(x, y), or(u, v)) tiene dos formas normales distintas:

or(or(and(x, u), and(x, v)), or(and(y, u), and(y, v)))

or(or(and(x, u), and(y, u)), or(and(x, v), and(y, v)))

aunque las dos formas normales son equivalentes bajo asociatividad y conmu-tatividad del and. Tal vez quisieramos agregar las reglas de asociatividad yconmutatividad del and, pero el agregar reglas para la conmutatividad causarıala perdida de terminalidad.

Si tenemos un sistema canonico R entonces ya tenemos un proceso de de-cision para la teorıa ecuacional subyacente ER. Para ello, basta seguir los si-guientes pasos para contestar la pregunta ¿ ER |= s = t ?:

1. Reducir s y t a sus respectivas formas normales s′ y t′

2. Comparar s′ y t′. ER |= s = t syss s′ = t′.

Aun no hemos dicho como probar la propiedad de confluencia. En la formacomo se ha enunciado resulta una propiedad complicada pero si R es terminal laconfluencia es decidible mediante la confluencia local, como lo asegura el lemade Newman que demostramos a continuacion.

Definicion 3.33 Una relacion binaria → es localmente confluente si para cua-lesquiera terminos r, s, t, si s← r → t entonces s ↓ t.

Resulta obvio que si R es confluente entonces R es localmente confluente. Siademas R es terminal entonces tenemos la equivalencia.

Teorema 3.8 (Lema de Newman)Sea R un s.r.t terminal. Si R es localmente confluente entonces R es confluente.

3.3. REESCRITURA DE TERMINOS 69

dem:

Como R es terminal entonces →R es bien fundada. Por lo que podemos aplicar→-induccion para probar que si s ↑ t entonces s ↓ t.Hipotesis de Induccion: Si u→ u′ y s←∗ u′ →∗ t entonces s ↓ t.

Paso Inductivo: Supongamos que s←∗ u→∗ t. El caso no trivial es cuandou es distinto de s y t. En tal caso, por definicion de →∗ existen terminos s1, t1tales que s ←∗ s1 ← u → t1 →

∗ t. Como R es localmente confluente existe untermino v tal que s1 →∗ v ←∗ t1. Aplicando la HI a s1 (puesto que u → s1 ys ←∗ s1 →∗ v) obtenemos un termino w tal que s →∗ w ←∗ v. De la mismamanera, usando la HI con t1 (ya que u → t1 y t ←∗ t1 →∗ w), obtenemos untermino r tal que t →∗ r ←∗ w. Finalmente tenemos s →∗ w →∗ r ←∗ t, esdecir, s ↓ t. a

3.3.3 Pares Criticos

Hasta este momento hemos reducido el problema de la confluencia al de laconfluencia local para un sistema terminal, pero todavia nos queda por estable-cer cuando un sistema es localmente confluente. Esto lo haremos utilizando elconcepto de pares criticos. Para mostrar que un s.r.t es localmente confluentenecesitamos saber que si un termino se reescribe de dos maneras distintas, en-tonces estas tienen una forma normal comun.Primero vamos a considerar las relaciones entre las diferentes reescrituras de untermino.

Definicion 3.34 Sean R un s.r.t., t un termino y u un subtermino de t. Si ues instancia del lado izquierdo de una regla de R entonces u es un redex de t.

Cada forma de reescribir un termino t corresponde a un redex de t. Nosinteresa analizar que sucede si un termino se reescribe de dos maneras distintas.Existen 3 casos que ejemplificamos enseguida:

1. Los redexes para la reescritura son subterminos ajenos de t.

t es f(a, b) R = a→ c, b→ d

Los redexes son a, b

Primer paso de reescritura: f(c, b) o f(a, d)

Segundo paso de reescritura: f(c, d) o f(c, d)

2. Un redex es subtermino del otro.

70 3. LA IGUALDAD

t es g(a) R = a→ b, g(x)→ f(x, x)

Los redexes son a, g(a)

Primer paso de reescritura: g(b) o f(a, a)

Segundo paso de reescritura: f(b, b) o f(b, b)en este caso el redex a es subtermino del redex g(a) y corresponde a laposicion de la variable x en la regla g(x) → f(x, x). En general, estaposibilidad sucede cuando un redex es subtermino del otro y correspondea la posicion de una variable en otra regla o bien cuando es subterminodel tal posicion.

3. Un redex es subtermino del otro pero no corresponde a la posicion de unavariable en otra regla.

t es (x ∗ e) ∗ z R = (x ∗ y) ∗ z → x ∗ (y ∗ z), x ∗ e→ x

Los redexes son (x ∗ e) ∗ z, x ∗ e

Primer paso de reescritura: x ∗ (e ∗ z) o x ∗ z

Segundo paso de reescritura: No es posible.

Estas son las unicas posibilidades para que un termino se reescriba de dosmaneras diferentes. Las dos primeras siempre producen un par de terminos conuna forma normal comun. El tercer caso es el que viola la confluencia local. Eneste caso se dice que las reglas se traslapan o que ha ocurrido un traslapamientoy el par de terminos resultantes es un par crıtico. A continuacion formalizamostodo esto.

Definicion 3.35 Sea t un termino, definimos la cadena de t, denotada t, como

la sucesion de sımbolos de t sin parentesis ni comas. Si α es t para algun tentonces t es unico y definimos α como t.

Ejemplo 3.15 Si t es f(x, g(y)) entonces t es fxgy e inversamente fxgy es

f(x, g(y)). Observese que no hay ambiguedad al obtener fxgy pues la aridad

de los sımbolos esta determinada de manera unica por la signatura.

Definicion 3.36 Sea s un termino y t una presencia de algun subtermino de

s. La descomposicion de s en αtγ se denota con (α, t, γ). El par (α, γ) es elcontexto de t.

Es facil ver que si α, β son presencias de subterminos de t entonces son ajenaso una es subtermino de la otra.

3.3. REESCRITURA DE TERMINOS 71

Definicion 3.37 Si t es γ1x1γ2x2 . . . γnxnγn+1 donde las γi no tienen variables

y σ es una sustitucion tal que tσ es γ1t1γ2t2 . . . γntnγn+1 decimos que la pre-sencia del subtermino ti es una presencia de variable instanciada.

Ahora analizamos formalmente las tres posibilidades anteriores. Suponga-

mos que t tiene dos redexes l1σ y l2σ y digamos que l1 es γ1x1γ2x2 . . . γnxnγn+1.Supongamos que l1σ es el redex de mayor longitud ( si ambos son de la misma

longitud no importa) y que l1σ es γ1t1γ2t2 . . . γntnγn+1. Entonces t resulta ser

αγ1t1γ2t2 . . . γntnγn+1β para algunas cadenas α, β.

El redex l2σ puede figurar en 3 lugares:

1. Puede ser subcadena de α o de β, lo cual significa que los redexes sonajenos.

2. Puede ser subcadena de algun ti

3. Puede ser subcadena del redex l1σ y no subcadena de ti para toda i. Estees el unico caso que corresponde a un par crıtico.

No hay mas posibilidades pues, como ya se dijo, dos presencias de subterminosson ajenas o una es subtermino de la otra. Por fin podemos dar la definicionformal de par crıtico.

Definicion 3.38 Sean R un s.r.t., l1 → r1, l2 → r2 dos reglas de R sin variablesen comun, u un subtermino de l1 que no es una variable. Supongase que u y l2son unificables mediante el umg σ y que l1 es γ1uγ2. El par (γ1r2γ2σ, r1σ) es

un par crıtico para l1 → r1, l2 → r2 o para R. u es un subtermino con presenciacrıtica de l1 y σ es la sustitucion crıtica.

En esta definicion tenemos las siguientes observaciones: u podrıa ser l1 (amenos que l1 sea una variable), las reglas l1 → r1, l2 → r2 son distintas o u noes l1 (esto prohibe pares crıticos triviales de una regla consigo misma).

Ejemplo 3.16 Considerese el sistema R = g(u)∗u→ 1, (x∗y)∗z → x∗(y∗z).El termino g(u) ∗ u se puede unificar con el subtermino x ∗ y de (x ∗ y) ∗ zobteniendose el termino (g(u) ∗ u) ∗ z). Este termino se reescribe como 1 ∗ zusando la primera regla y como g(u) ∗ (u ∗ z) usando la segunda regla. Estoproduce el par crıtico (g(u) ∗ (u ∗ z), 1 ∗ z).

Ejemplo 3.17 Las reglas

f(f(u, v), g(v, u))→ h(u, v), g(f(x, y), g(y, x))→ k(x, y)

tienen cuatro pares crıticos, obtenidos unificando los lados izquierdos con unsubtermino de ellos mismos o con un subtermino del otro lado izquierdo. Unode ellos es (g(h(u, v), g(g(v, u), f(u, v))), k(f(u, v), g(v, u))) el cual se obtieneunificando el lado izquierdo de la primera regla con el subtermino f(x, y) dellado izquierdo de la segunda regla.

72 3. LA IGUALDAD

Con el siguiente teorema finalmente damos una manera para probar si unsistema R es confluente. Esta demostracion es aportacion nuestra basada en elbosquejo dado en [Pla94].

Teorema 3.9 (Teorema de los pares crıticos)Sea R un s.r.t terminal. R es confluente si y solo si para todos los pares crıticos(s, t) de R y para formas normales arbitrarias s′, t′ de s, t respectivamente, s′ yt′ son identicas.

dem:

⇒ ) Supongamos que R es confluente. En tal caso como R tambien es terminal,todo termino tiene exactamente una forma normal. Dado cualquier par crıtico(s, t), se tiene que s ↑ t, por lo que la confluencia nos lleva a s ↓ t. Ahorabien, sea u tal que s→∗ u←∗ t, puesto que s′ y t′ son formas normales unicasentonces tenemos que s →∗ u →∗ s′ y t →∗ u →∗ t′, de donde se concluye ques′ ↑ t′ y utilizando la confluencia tenemos s′ ↓ t′ lo cual implica que s′ y t′ sonidenticas.⇐ ) Supongamos que se cumple tal propiedad. Queremos demostrar que R

es confluente, es decir, si s ↑ t entonces s ↓ t. Basta analizar que se cumple lapropiedad para un solo paso de reescritura, es decir, basta probar la confluencialocal pues tenemos el lema de Newman. Digamos que el termino r se reescribeen r1 y en r2, r2 ← r → r1 (es decir, r1 ↑ r2). Vamos a mostrar entonces quer1 ↓ r2. Tenemos que analizar los tres casos ya expuestos:Sean l1 → m1, l2 → m2 ∈ R y σ1, σ2 sustituciones ajenas tales que el redex parari es liσi.

1. Los redexes para r → r1 y r → r2 son ajenos.

Este es el caso trivial. r es αl1σ1βl2σ2γ para algunas cadenas α, β, γ. Ası

que r1 es αm1σ1βl2σ2γ y r2 es αl1σ1βm2σ2γ, de manera que si aplicamosla primera regla a r2 y la segunda regla a r1 obtenemos en ambos casosαm1σ1βm2σ2γ. Por lo tanto r1 ↓ r2.

2. El redex para r → r2 es subtermino de una presencia de variable instan-ciada para r → r1 (o viceversa).

Tenemos que r es αl1σ1β para algun contexto (α, β) y l1σ1 es γl2σ2δ para

algun contexto (γ, δ). Analizando a l1σ1 tenemos que l1σ1 se reescribe enm1σ1 mediante la primera regla y en γm2σ2δ mediante la segunda regla.Por lo tanto basta ver que m1σ1 y γm2σ2δ se pueden reescribir en untermino comun.Puesto que l2σ2 es presencia de variable instanciada entonces hay una va-

riable x tal que l1 es γ′xδ′ donde γ′σ1 = γ, δ′σ1 = δ, xσ1 = l2σ2. Definimosla sustitucion σ3 como sigue: xσ3 = m2σ2 y si y 6= x, yσ3 = yσ1.Claramente xσ1 = l2σ2 → m2σ2 = xσ3 y de esto se sigue que m1σ1 →∗

m1σ3.Veamos ahora que γm2σ2δ →∗ m1σ3. γm2σ2δ se obtuvo a partir de l1σ1

3.3. REESCRITURA DE TERMINOS 73

reemplazando la imagen de una presencia de x bajo σ1 por m2σ2 peropodrıa haber mas presencias de x en l1. Si tomamos todas las presenciasde x en l1 y tambien las reemplazamos por m2σ2 obtenemos l1σ3. Por lotanto l1σ1 →∗ l1σ3 → m1σ3 de donde se concluye que γm2σ2δ →∗ m1σ3.De todo lo anterior podemos concluir que r1 ↓ r2

3. El redex para r → r2 es subtermino del redex para r → r1 (o viceversa)pero no es presencia de variable instanciada para r → r1. Este es el casocrıtico.En esta situacion existe un contexto (α, δ) y un subtermino u de l1 tal

que l1 es αuδ y l1σ1 es α′uσ1δ′ donde ασ1 = α′, δσ1 = δ′ y uσ1 = l2σ2.

Dado que σ1, σ2 son ajenas, σ′ = σ1 ∪ σ2 esta bien definida y cumple queuσ′ = uσ1 = l2σ2 = l2σ

′. Por lo tanto u y l2 son unificables. Sea σ unumg de u, l2.El par (αm2δσ,m1σ) es un par crıtico y como R es terminal, existen

formas normales n1, n2 de αm2δσ,m1σ respectivamente, que por hipotesis

son identicas. Esto permite concluir, de manera analoga al caso anterior,que r1 ↓ r2.

a

Corolario 3.2 (Knuth-Bendix,1970). Sea R un s.r.t. terminal. R es con-fluente syss todo par crıtico (s, t) de R converge, es decir, s ↓ t.

dem:

Es inmediato. a

Este resultado implica que si R es un s.r.t. finito y terminal, entonces la con-fluencia de R es decidible pues solo hay un numero finito de pares crıticos.Veamos un par de ejemplos.

Ejemplo 3.18 Considerese el sistema R que consiste de las siguientes tres re-glas que modelan las propiedades que definen un monoide:

(1) ((x ∗ y) ∗ z)→ (x ∗ (y ∗ z))

(2) (x ∗ e)→ x

(3) (e ∗ y)→ y

Es claro que R es terminal pues las reglas 2 y 3 reducen el numero de presenciasde e en un termino y la regla 1 mueve parentesis hacia la derecha, por lo tantocada regla solo puede aplicarse un numero finito de veces. Para ver que Res Church-Rosser vamos a analizar todos los pares crıticos de R. Para elloconsideramos cada subtermino que no es una variable del lado izquierdo de unaregla que sea unificable con el lado izquierdo de una de las reglas.

74 3. LA IGUALDAD

1. Consideremos la ecuacion (1). ((x ∗ y) ∗ z) tiene como subtermino novariable a (x ∗ y) que puede unificarse con el lado izquierdo de cualquierregla:

(a) Unificando (x ∗ y) con el lado izquierdo de (1), despues de renom-brar variables, digamos x, y, z por x1, y1, z1, obtenemos el par crıtico(((x1 ∗ y1) ∗ (z1 ∗ z)), ((x1 ∗ (y1 ∗ z1)) ∗ z)) mediante el umg σ =x/(x1 ∗ y1), y/z1. Pero tal par converge pues

((x1 ∗ y1) ∗ (z1 ∗ z))→ (x1 ∗ (y1 ∗ (z1 ∗ z)))

((x1 ∗ (y1 ∗ z1)) ∗ z)→ (x1 ∗ ((y1 ∗ z1) ∗ z))→ (x1 ∗ (y1 ∗ (z1 ∗ z)))

(b) Unificando (x∗y) con el lado izquierdo de (2), despues de renombrarx por x1, mediante σ = x/x1, y/e, producimos el par crıtico (x1 ∗(e ∗ z), x1 ∗ z)) y tal par converge pues x1 ∗ (e ∗ z)→3 x1 ∗ z.

(c) Unificando (x∗y) con el lado izquierdo de (3), despues de renombrary por y1 obtenemos el par crıtico ((e ∗ (y1 ∗ z)), (y1 ∗ z)) medianteσ = x/e, y/y1. Dicho par converge pues (e ∗ (y1 ∗ z))→ (y1 ∗ z).

2. Consideremos la ecuacion (2). Hay dos subterminos no variables de (x∗e),que son e y (x ∗ e).

(a) e no es unificable con ninguno de los lados izquierdos de las reglas,por lo que no produce pares crıticos.

(b) Si unificamos (x ∗ e) con ((x1 ∗ y1) ∗ z1) obtenemos el par crıtico((x1 ∗ (e ∗ z1)), (x1 ∗ z1)) que obviamente converge.

(c) Si unificamos (x ∗ e) con (e ∗ y) obtenemos el par crıtico trivial (e, e).

3. La ecuacion (3) se analiza de manera analoga a la (2).

Por lo tanto por el corolario 3.2 podemos garantizar que R es un sistemacanonico.

Ejemplo 3.19 Para representar la funcion de concatenacion en listas tenemosel sistema R que consta de

(1) append(cons(x, y), z)→ cons(x, append(y, z))

(2) append(nil, z)→ z

claramente R es terminal. Ademas es facil ver que no tiene pares crıticos. Porlo tanto R es canonico.

3.4. EL METODO DE KNUTH-BENDIX 75

3.4 El Metodo de Knuth-Bendix

El metodo de complecion de Knuth-Bendix [KB70] fue concebido originalmentecomo un medio para transformar una axiomatizacion de alguna teorıa ecuacionaly generar a partir de ella un sistema de reescritura que se pudiera utilizar paradecidir la validez de ecuaciones en la teorıa dada. Sin embargo actualmentetiene diversas aplicaciones, como la generacion de soluciones de ecuaciones, lasıntesis de programas recursivos y, dentro del razonamiento automatico, la de-mostracion de teoremas acerca de estructuras definidas recursivamente y engeneral la demostracion de teoremas del calculo de predicados. En esta seccionsolo nos limitaremos a describir el metodo; en lo que respecta a las aplicacionesrecomendamos consultar [Der89].Antes de dar el proceso formal, presentamos un ejemplo informal.Consideremos el sistema ecuacional para la teorıa de grupos E = e · x =x, i(x) · x = e, (x · y) · z = x · (y · z) A partir de este sistema obtenemos uns.r.t R orientando de manera “adecuada” las ecuaciones:

1. e · x→ x

2. i(x) · x→ e

3. (x · y) · z → x · (y · z)

Este sistema no es Church-Rosser pues el termino i(x) · x se unifica con elsubtermino no variable x · y del lado izquierdo de la regla 3, produciendose eltermino (i(x) · x) · z. Este termino nos lleva al par crıtico (e · z, i(x) · (x · z))que es un par no convergente, puesto que i(x) · (x · z) es una forma normal ye · z solamente se reescribe en la forma normal z. Esto nos lleva a adoptar unanueva regla

4. i(x) · (x · z)→ z

Ahora tenemos un traslapamiento de las reglas 2 y 4 (el subındice indica queregla se utilizo): i(i(y)) · (i(y) · y)→4 y, i(i(y)) · (i(y) · y)→2 i(i(y)) · e, lo cualproduce el par crıtico (y, i(i(y)) · e) que no converge. Adoptamos la regla:

5. i(i(y)) · e→ y

esta regla sera eliminada posteriormente, continuando con el analisis de la regla4, tenemos un traslapamiento de 4 y 1: i(e) · (e · z)→4 z, i(e) · (e · z)→1 i(e) · z,lo cual nos lleva a la nueva regla:

6. i(e) · z → z

Traslapamiento de 3 y 5: (i(i(y)) ·e) ·x →3 i(i(y)) · (e ·x), (i(i(y)) ·e) ·x →5 y ·x.Adoptamos la regla:

7. i(i(y)) · x→ y · x

Traslapamiento de 5 y 7: i(i(y)) ·e→7 y ·e, i(i(y)) ·e→5 y. Agregamos la regla

76 3. LA IGUALDAD

8. y · e→ y

Traslapamiento de 5 y 8: i(i(y)) · e →5 y, i(i(y)) · e →8 i(i(y)). Agregamos laregla

9. i(i(y))→ y

con la regla 9 eliminamos la regla 5 pues i(i(y)) · e→9 y · e→8 y y la regla 7 yaque i(i(y)) · x→9 y · x.Traslapamiento de 6 y 8: i(e) · e→6 e, i(e) · e→8 i(e). Agregamos la regla

10. i(e)→ e

esta regla cancela a la 6, pues i(e) · z →10 e · z →1 z.Traslapamiento de 2 y 9: i(i(y)) · i(y)→2 e, i(i(y)) · i(y)→9 y · i(y), agregamosla regla

11. y · i(y)→ e

Traslapamiento de 3 y 11: (y · i(y)) · x →3 y · (i(y) · x), (y · i(y)) · x →11 e · x,adoptamos la regla

12. y · (i(y) · x)→ x

Tenemos otro traslapamiento de 3 y 11: (x ·y) · i(x ·y) →11 e, (x ·y) · i(x ·y) →3

x · (y · i(x · y)), agregamos la regla

13. x · (y · i(x · y))→ e

Traslapamiento de 13 y 4: i(x) · (x · (y · i(x · y))) →4 y · i(x · y), i(x) · (x · (y ·i(x · y)))→13 i(x) · e, adoptamos la regla

14. y · i(x · y)→ i(x)

esta regla cancela a la 13, pues x · (y · i(x · y))→14 x · i(x)→11 e.Por ultimo, tenemos el traslapamiento de 4 y 14: i(y) · (y · i(x · y)) →4 i(x ·y), i(y) · (y · i(x · y))→14 i(y) · i(x), agregamos la regla

15. i(x · y)→ i(y) · i(x)

esta regla cancela a la 14, ya que y · i(x · y)→15 y · (i(y) · i(x))→12 i(x).Ası hemos analizado todos los pares crıticos y agregamos reglas de manera quetodos convergieran. Con lo cual garantizamos que el sistema R′ que consiste de:

1. e · x→ x

2. i(x) · x→ e

3. (x · y) · z → x · (y · z)

4. i(x) · (x · z)→ z

8. y · e→ y

3.4. EL METODO DE KNUTH-BENDIX 77

9. i(i(y))→ y

10. i(e)→ e

11. y · i(y)→ e

12. y · (i(y) · x)→ x

15. i(x · y)→ i(y) · i(x)

es un s.r.t. terminal y confluente. El proceso de analisis de los pares crıticosque realizamos fue bastante ineficiente, pues solamente nos guiamos por la intui-cion al momento de orientar las reglas; aunque en algunos casos la orientaciones clara, en casos como el de la regla 15, la otra orientacion tambien es plausible.No obstante, esto habrıa causado complicaciones que se describen en [KB70].Este problema se resuelve mediante la eleccion de un orden de terminacion paralos terminos que debemos proporcionarle al proceso de Knuth-Bendix como en-trada. Sin embargo la manera de como encontrar tal orden sigue siendo unacuestion experimental.

Ahora presentamos una version simple del proceso de complecion de Knuth-Bendix.

Precondicion: Un sistema ecuacional E. Un orden de terminacion > paraTERM .R := ∅

while E 6= ∅ do

Escoger una ecuacion s = t ∈ E;Reducir s y t a formas normales s′, t′ con respecto a Rif s′ ≡ t′ then

E := E \ s = telse

if s′ > t′ then

α := s′, β := t′

else

if t′ > s′ then

α := t′, β := s′

else

fallaend if

end if

CP := p = q | (p, q) es un par crıtico para R ∪ α→ βR := R ∪ α→ β;E := (E ∪ CP ) \ s = t

end if

end while

78 3. LA IGUALDAD

exito.Postcondicion: Un s.r.t. canonico R tal que ER ` s = t syss E ` s = t

A la hora de ejecutar este proceso tenemos tres posibilidades:

1. Terminacion exitosa, en cuyo caso se obtiene un s.r.t. canonico.

2. Entrada a un ciclo infinito, provocando la no terminacion.

3. Terminacion con falla dado que un par de terminos no pudo orientarse, esdecir, ni s > t ni t > s.

El tercer caso muestra la restriccion mas importante en el proceso, los sis-temas ecuacionales que incluyan operadores conmutativos no pueden comple-tarse. La prueba de que se obtiene un s.r.t. canonico en el caso 1 no es sencillay queda fuera de esta exposicion, el interesado puede consultarla en [Hue81].Existe toda una rama dedicada al estudio del metodo de Knuth-Bendix de ma-nera abstracta, para una introduccion vease [BDP89, Der89].

En este capıtulo hemos descrito algunos procesos de decision, para el casoen que este involucrada la igualdad, de manera que se puedan explotar sus pro-piedades caracterısticas. El primer proceso, que involucra paramodulacion conRFP-resolucion, es de utilidad cuando tenemos clausulas que contienen igual-dades ademas de predicados ordinarios. El segundo proceso, que involucra unsistema de reescritura de terminos canonico, es util cuando se tienen puras igual-dades.Los capıtulos 2 y 3 proporcionan una vision general de los procesos de decisioninvolucrados en OTTER ademas de que los teoremas de completud correspon-dientes justifican el funcionamiento correcto de dichos procesos.

En el siguiente capıtulo presentamos la tecnica de subsuncion que propor-ciona un proceso de eliminacion de clausulas redundantes.

Capıtulo 4

Subsuncion

En este capıtulo estudiaremos la tecnica de subsuncion1 que es un proceso paraeliminar clausulas duplicadas o menos generales, es decir, clausulas logicamentemas debiles que otras ya disponibles para el programa de razonamiento au-tomatico. El proceso de subsuncion se debe a J. Alan Robinson (ver [Rob65])y es considerado por algunos como su aportacion mas importante al campodel razonamiento automatico, incluso por encima de la regla de resolucion(consultese [WOL91]).

4.1 Preliminares

Definicion 4.1 Sea C una clausula. Con LIT (C) denotamos al conjunto deliterales de C. Es decir, si C = L1 ∨ . . .∨Ln entonces LIT (C) = L1, . . . , Ln

Definicion 4.2 Sean C,D clausulas. C subsume a D si existe una sustitucionσ tal que LIT (C)σ ⊆ LIT (D). Tal situacion se denota con C ≤ss D.Si C ≤ss D y D ≤ss C entonces escribimos C =ss D.

Ejemplo 4.1 Sean C1 = Px ∨ Pfx, C2 = Pfy ∨ Pffy ∨ Ry, C3 = Pa ∨Pffa, C4 = Pfy ∨ Py ∨ Pfz. Tenemos las siguientes relaciones:

C1 ≤ss C2 pues Px, Pfxx/fy ⊆ Pfy, Pffy,Ry

C1 ≤ss C4 pues Px, Pfxx/y ⊆ Pfy, Py, Pfz

C4 ≤ss C1 pues Pfy, Py, Pfzy/x, z/x ⊆ Px, Pfx

Observese que tenemos C1 =ss C4; ademas C1 6≤ss C3 puesto que si existiera σtal que Px, Pfxσ ⊆ Pa, Pffa entonces hay dos casos:

Pxσ = Pa por lo que Pfxσ = Pfa /∈ LIT (C3)

Pxσ = Pffa por lo que Pfxσ = Pfffa /∈ LIT (C3)

1Del ingles subsumption, cuya traduccion es subsuncion o premisa menor

79

80 4. SUBSUNCION

aunque C1 6≤ss C3, observese que Px ≤ss C3 y Pfx ≤ss C3.

A continuacion mostramos algunas propiedades de la relacion ≤ss.

Proposicion 4.1 La relacion ≤ss tiene las siguientes propiedades:

1. ≤ss es reflexiva.

2. ≤ss es transitiva.

3. Si C ≤ss D entonces C ≤ss Dϑ para cualquier sustitucion ϑ.

4. Si C ≤ss D entonces |= ∀C → ∀D.

dem:

1. Es inmediato utilizando la sustitucion vacıa.

2. Si C ≤ss D y D ≤ss E entonces se tienen las siguientes inclusiones.LIT (C)σ ⊆ LIT (D) y LIT (D)µ ⊆ LIT (E). Ası que LIT (C)σµ ⊆LIT (E). Es decir, C ≤ss E.

3. Si LIT (C)σ ⊆ LIT (D) entonces LIT (C)σϑ ⊆ LIT (D)ϑ, pero LIT (D)ϑ= LIT (Dϑ). Por lo tanto C ≤ss Dϑ

4. Resulta inmediato puesto que |= ∀C → ∀Cσ para cualquier σ y comoexiste alguna σ tal que LIT (C)σ ⊆ LIT (D) entonces |= ∀Cσ → ∀D paratal σ. Finalmente por transitividad obtenemos |= ∀C → ∀D

aLa siguiente proposicion sera de utilidad para decidir el proceso de sub-

suncion, pues asegura que para verificar si la clausula C subsume a D, bastaverificar si C subsume a cierta instancia cerrada de D.

Proposicion 4.2 Sean C,D clausulas tales que V (D) = x1, . . . , xm; c1,. . . , cm sımbolos de constante que no figuran en C ni en D y σ = x1/c1, . . . ,xm/cm. Entonces C ≤ss D si y solo si C ≤ss Dσ.

dem:

⇒ ) Es inmediato por la proposicion 4.1(3).

⇐ ) Supongamos que C ≤ss Dσ. Sea γ = y1/t1, . . . , yn/tn tal que LIT (C)γ ⊆LIT (Dσ) y V (C) = y1, . . . , yn. Como Dσ es cerrada entonces γ debe reem-plazar todas las variables de C. Sean si = ti[c1/x1, . . . , cm/xm], donde s/t indicael reemplazo de cada presencia del termino s por t y µ = y1/s1, . . . , yn/sn.Observese que µ = γ[c1/x1, . . . , cm/xm]. De manera que si L ∈ LIT (C)entonces Lµ = Lγ[c1/x1, . . . , cm/xm] ∈ LIT (Dσ)[c1/x1, . . . , cm/xm]. Pero

4.1. PRELIMINARES 81

notese que LIT (Dσ)[c1/x1, . . . , cm/xm] = LIT (Dσ[c1/x1, . . . , cm/xm]) y ade-mas Dσ[c1/x1 . . . , cm/xm] = D, porque las constantes ci no figuraban en D.Por lo tanto concluimos que Lµ ∈ LIT (D). Es decir, LIT (C)µ ⊆ LIT (D). Esdecir, C ≤ss D. a

Con este resultado podemos decidir el proceso de subsuncion.

Proposicion 4.3 El proceso de subsuncion es decidible.

dem:

Dadas dos clausulas C y D queremos verificar si se cumple C ≤ss D. Sinperder generalidad podemos suponer que la clausula D siempre es cerrada. Seand = τ(D) la profundidad2 maxima de un termino que figure enD yH el universode Herbrand de la signatura de D. Definimos

Λ = ϑ | ϑ es una sustitucion, dom(ϑ) = V (C), ran(ϑ) ⊆ H

De esta definicion resulta inmediato que C ≤ss D syss existe ϑ ∈ Λ tal queLIT (C)ϑ ⊆ LIT (D). Ademas observese que si ϑ ∈ Λ y τ(ran(ϑ)) > d entoncesτ(Cϑ) > d y por lo tanto LIT (Cϑ) 6⊆ LIT (D).Sea Λd = ϑ ∈ Λ | τ(ran(ϑ)) ≤ d, por la ultima observacion tenemos queC ≤ss D syss existe ϑ ∈ Λd tal que LIT (C)ϑ ⊆ LIT (D). Ahora bien, comoΛd es un conjunto finito entonces el proceso de decision se obtiene al checar siLIT (C)ϑ ⊆ LIT (D) para ϑ ∈ Λd. a

Es claro que el proceso de decision proporcionado es ineficiente y poco practico,mas adelante proporcionaremos un algoritmo de subsuncion mas efectivo.

Ahora vamos a extender el orden ≤ss a conjuntos de clausulas de la manerausual.

Definicion 4.3 Sean C,D conjuntos de clausulas. Entonces C ≤ss D syss paratoda D ∈ D existe C ∈ C tal que C ≤ss D.

La siguiente proposicion muestra que la omision de clausulas subsumidas,al probar la satisfacibilidad de un conjunto, es correcta. Esto justifica el usomas simple del proceso de subsuncion, que consiste en simplificar un conjuntode clausulas mediante subsuncion antes de proporcionarlo a un programa derazonamiento automatico.

Proposicion 4.4 Sean C un conjunto de clausulas y C ∈ C tal que C−C ≤ss

C. Entonces∧

D∈C−C

∀D ≡∧

D∈C

∀D

2La profundidad τ(t) del termino t se define como 0 si t es un termino simple y como1 + maxτ(ti) | 1 ≤ i ≤ n si t es el termino compuesto f(t1, . . . , tn). La profundidad de unconjunto de terminos es la profundidad maxima de un termino que figure en el.

82 4. SUBSUNCION

dem:

⇐ ) Es trivial.

⇒ ) Supongamos que∧

D∈C−C ∀D.

Por hipotesis existe D ∈ C − C tal que D ≤ss C. Ademas sabemos que|= ∀D → ∀C, por la proposicion 4.1(4), y por nuestra suposicion tenemos ∀D.Por lo tanto obtenemos ∀C, lo cual junto con la suposicion nos lleva a concluirque

D∈C∀D. a

Ası que en adelante podemos considerar solamente conjuntos de clausulas re-ducidos bajo subsuncion, es decir, conjuntos C tales que para cualesquieraC1, C2 ∈ C, si C1 ≤ss C2 entonces C1 = C2.

Mas importante y complicado, desde el punto de vista computacional, queel uso de la subsuncion como proceso preliminar es su uso durante la derivacionde clausulas. Al combinar subsuncion con resolucion o con algun refinamientotenemos tres posibilidades:

• Subsuncion hacia adelante (forward subsumption). Este proceso consisteen eliminar las clausulas recien derivadas que son subsumidas por clausulasderivadas anteriormente.

• Subsuncion hacia atras (backward subsumption). En este caso una clausuladerivada con anterioridad y que es subsumida por una clausula recienobtenida se elimina. Esto provoca algunos problemas de completud comomencionaremos en la siguiente seccion.

• Reemplazo. En este caso el conjunto de clausulas derivadas se reduceperiodicamente bajo subsuncion, es decir, despues de cierto periodo detiempo fijo, se aplica la subsuncion al conjunto.

4.2 Completud de Resolucion bajo Subsuncion

El uso de subsuncion como un paso previo a la deduccion no trae problemasde completud, e incluso ofrece ventajas, pues si C′ se obtiene de C mediantesubsuncion, entonces Rx(C′) ⊆ Rx(C) y ∈ Rx(C′) syss ∈ Rx(C).

El uso de subsuncion durante el proceso de derivacion depende esencialmentedel metodo de busqueda. Como ya se dijo, la subsuncion hacia atras provocaproblemas de completud, ya que no podemos eliminar la clausula C obtenidaanteriormente sin afectar el arbol de derivacion. Para evitar esto lo que suelehacerse es desactivar la clausula C en lugar de eliminarla de manera que si alfinal la clausula C ′ que subsumio a C no resulta ser ancestro de C, entoncesesta se activa nuevamente.

4.2. COMPLETUD DE RESOLUCION BAJO SUBSUNCION 83

Por otra parte, la combinacion de subsuncion hacia adelante con un operadorde refinamiento siempre define un refinamiento.

Definicion 4.4 Sean C,D conjuntos de clausulas y nsa(C,D) = D ∈ D |C 6≤ss D el conjunto de clausulas de D que no son subsumidas por C. SeaRx un operador de refinamiento de resolucion. Definimos

S0xs(C) = S0

x(C)

Sn+1xs (C) = Sn

xs(C) ∪ nsa(Snxs(C), ρx(Sn

xs(C)))

Rxs(S) =⋃

n∈N

Snxs(C)

Rxs es el operador de refinamiento Rx bajo subsuncion hacia adelante.

Los siguientes lemas constituyen el camino hacia el teorema de completudde resolucion bajo subsuncion hacia adelante.

Lema 4.1 La subsuncion se preserva bajo factores, es decir, si C,D son clau-sulas tales que C ≤ss D y D′ es un factor de D entonces C ≤ss D

′.

dem:

Esta demostracion es nuestra respuesta a un ejercicio de [Lei97].Mediante induccion sobre el grado del factor D′.

• Base de la induccion. D′ es un factor trivial de D. En tal caso existe unasustitucion σ tal que Dσ = D′, y como C ≤ss D entonces C ≤ss Dσ = D′

por la proposicion 4.1(3).

• Hipotesis de Induccion: Si D′ es un k-factor de D y C ≤ss D entoncesC ≤ss D

′.

• Sea D′ un (k + 1)-factor de D. En tal caso podemos obtener un k-factorD′′ de D tal que D′ es un 1-factor de D′′. Mas aun, D′ es un reducto deD′′.Por HI tenemos que C ≤ss D

′′, es decir, LIT (C)η ⊆ LIT (D′′) para algunasustitucion η. Pero como D′ es un reducto de D′′ entonces LIT (D′′) =LIT (D′). Por lo tanto LIT (C)η ⊆ LIT (D′), es decir, C ≤ss D

′.

a

Lema 4.2 Sean C1, D1, C2, D2 clausulas tales que C1 ≤ss D1, C2 ≤ss D2. SiD es un resolvente de D1 y D2 entonces se cumple alguna de las siguientespropiedades:

a) C1 ≤ss D.

b) C2 ≤ss D.

84 4. SUBSUNCION

c) Existe un resolvente C de C1 y C2 tal que C ≤ss D.

dem:

Por la definicion 2.7 existen factores con variables ajenas, E1 ∨M ∨ F1 de D1

y E2 ∨ N ∨ F2 de D2 tales que M,N c es unificable mediante el umg σ yD = (E1 ∨ F1 ∨E2 ∨ F2)σ. Como la subsuncion se preserva bajo factores (lema4.1) entonces C1 ≤ss E1 ∨M ∨F1 y C2 ≤ss E2 ∨N ∨F2, es decir, existen ϑ1, ϑ2

tales que LIT (C1)ϑ1 ⊆ LIT (E1 ∨M ∨ F1) y LIT (C2)ϑ2 ⊆ LIT (E2 ∨N ∨ F2).Vamos a analizar dos casos

• M /∈ LIT (C1)ϑ1 o N /∈ LIT (C2)ϑ2.Supongamos que M /∈ LIT (C1)ϑ1. En tal caso LIT (C1)ϑ1 ⊆ LIT (E1 ∨F1), es decir, C1 ≤ss E1∨F1. Ademas tenemos E1∨F1 ≤ss (E1∨F1)σ ≤ss

(E1 ∨F1∨E2 ∨F2)σ = D. Por lo tanto C1 ≤ D, de manera que se cumplela condicion a).

En el caso en el que N /∈ LIT (C2)ϑ2 se prueba analogamente que C2 ≤ss

D, es decir, se cumple la condicion b).

• M ∈ LIT (C1)ϑ1 y N ∈ LIT (C2)ϑ2.Sean L1 = L ∈ LIT (C1) | Lϑ1 = M y L2 = L ∈ LIT (C2) | Lϑ2 =N. Observese que ϑi unifica a Li, por lo que existen unificadores masgenerales λ1, λ2 de L1,L2 respectivamente. En tal situacion, las clausulasC1λ1, C2λ2 son G-instancias de C1, C2.Mas aun existen factores irreducibles G1 ∨R∨H1 de C1 y G2 ∨S ∨H2 deC2 tales que R ≤s M, G1∨H1 ≤ss E1∨F1, S ≤s N, G2∨H2 ≤ss E2∨F2.Estos se obtienen tomando el mayor reducto posible de C1λ1 y C2λ2 res-pectivamente.Sean η1, η2 tales que λ1η1 = ϑ1, λ2η2 = ϑ2, entonces Rη1 = M, Sη2 =N, LIT (G1 ∨H1)η1 ⊆ LIT (E1 ∨ F1), LIT (G2 ∨H2)η2 ⊆ LIT (E2 ∨ F2).Definimos η = η1 ∪ η2, lo cual es correcto pues V (E1 ∨M ∨ F1) ∩ V (E2 ∨N ∨ F2) = ∅.Observese que Rη = M y Sη = N , por lo tanto el conjunto R,Sces unificable mediante ησ y podemos encontrar un umg de R,Sc, di-gamos τ . Por lo tanto existe ρ tal que τρ = ησ. Como LIT (G1 ∨H1)η1 ⊆ LIT (E1 ∨ F1) entonces LIT (G1 ∨ H1)ησ ⊆ LIT (E1 ∨ F1)σ,es decir, LIT (G1 ∨ H1)τρ ⊆ LIT (E1 ∨ F1)σ. Analogamente concluimosque LIT (G2 ∨H2)τρ ⊆ LIT (E2 ∨ F2)σ.Finalmente observemos que la clausula C = (G1 ∨H1 ∨G2 ∨H2)τ es unresolvente de C1 y C2 y que LIT (C)ρ = LIT (G1 ∨ H1 ∨ G2 ∨ H2)τρ ⊆LIT (E1 ∨ F1 ∨ E2 ∨ F2)σ = LIT (D). Por lo tanto C ≤ss D, es decir, secumple la condicion c).

aEl siguiente lema, junto con el teorema de completud son una adaptacion

nuestra, basada en un teorema mas general de [Lei97].

4.2. COMPLETUD DE RESOLUCION BAJO SUBSUNCION 85

Lema 4.3 Sean C un conjunto de clausulas y R∅ el operador de resolucionilimitada. Entonces las clausulas generadas por R∅s subsumen a las generadaspor R∅. Es decir, R∅s(C) ≤ss R∅(C).

dem:

Basta ver que para toda n, las clausulas del estrato n de R∅s subsumen alas clausulas de R∅. Es decir, Sn

∅s(C) ≤ss Sn∅(C). Esto lo haremos mediante

induccion sobre n.

• n = 0. Es trivial.

• HI. Sn∅s(C) ≤ss S

n∅(C).

• P.D. Sn+1∅s (C) ≤ss S

n+1∅ (C), es decir,

Sn∅s(C) ∪ nsa(Sn

∅s(C), ϕ(Res(Sn∅s(C)))) ≤ss S

n∅(C) ∪ ϕ(Res(Sn

∅(C)))

Sea D ∈ Sn∅(C) ∪ ϕ(Res(Sn

∅(C))).Basta ver el caso en que D ∈ ϕ(Res(Sn

∅(C))) ya que el otro caso resultainmediato de la HI.Sea D ∈ ϕ(Res(Sn

∅(C))). Ası que existen D1, D2 ∈ Sn∅(C) tales que D es

un resolvente de D1 y D2. Mediante la HI, tomemos C1, C2 ∈ Sn∅s(C) tales

que C1 ≤ss D1 y C2 ≤ss D2. Tenemos los siguientes casos, de acuerdo allema 4.2.

1. C1 ≤ss D. En cuyo caso, como C1 ∈ Sn∅s(C), podemos concluir que

Sn∅s(C) ≤ss D y por lo tanto Sn+1

∅s (C) ≤ss D

2. C2 ≤ss D. Analogamente al caso anterior obtenemos Sn+1∅s (C) ≤ss

D.

3. Existe C resolvente de C1, C2 tal que C ≤ss D. Aquı hay dos subca-sos.

(a) Sn∅s(C) ≤ss C. En cuyo caso, por la transitividad de ≤ss

obtenemos Sn∅s(C) ≤ss D, de donde concluimos que Sn+1

∅s (C)≤ss D

(b) Sn∅s(C) 6≤ss C. Dado que C ∈ Res(Sn

∅s(C)) entonces con-cluimos que C ∈ nsa(Sn

∅s(C), ϕ(Res(Sn∅s(C)))). Por lo tanto,

como C ≤ss D, obtenemos que Sn+1∅s (C) ≤ss D.

De manera que en cualquier caso obtenemos que Sn+1∅s (C) ≤ss D y como

D ∈ Sn+1∅ (C), entonces concluimos que Sn+1

∅s (C) ≤ss Sn+1∅ (C). a

Ahora podemos demostrar el teorema de completud correspondiente.

Teorema 4.1 (Completud de Resolucion bajo Subsuncion hacia adelante)Si C es un conjunto no satisfacible de clausulas entonces ∈ R∅s(C).

86 4. SUBSUNCION

dem:

Como R∅ es completo entonces ∈ R∅(C) y por el lema 4.3 tenemos queR∅s(C) ≤ss R∅(C), por lo que existe C ∈ R∅s(C) tal que R ≤ss . Pero estosolo es posible si R = . Por lo tanto ∈ R∅s(C). a

4.3 Completud de Hiperresolucion bajo Reem-

plazo

El proceso de reemplazo consiste en eliminar cada clausula subsumida sin impor-tar como ni cuando fue derivada. Mientras que los refinamientos son un metodomas cercano a las derivaciones, el reemplazo es esencialmente un metodo dereduccion.Dado un conjunto de clausulas C, este podrıa tener mas de un conjunto equiv-alente y reducido bajo subsuncion. Sin embargo, si dotamos al conjunto con unorden (como el lexicografico) y mantenemos la clausula mas pequena de cadaclase de equivalencia segun =ss obtenemos un conjunto unico al reducir bajosubsuncion a C.De esta manera podemos considerar la reduccion bajo subsuncion como un ope-rador sub(C) que tiene las siguientes propiedades:

1. sub(C) ⊆ C.

2. sub(sub(C)) = sub(C).

3. Para cualquier D, si C ≤ss D entonces sub(C ∪ D) =ss sub(C).

Con ayuda de este operador definimos el concepto correspondiente a losoperadores de refinamiento.

Definicion 4.5 Sean Rx un operador de refinamiento y C un conjunto declausulas. Definimos

S0xr(C) = sub(C)

Sn+1xr (C) = sub(Sn

xr(C) ∪ ρx(Snxr(C)))

La sucesion 〈Snxr(C)〉n∈N es la Rx-sucesion de reemplazo o Rxr-sucesion para C.

Definicion 4.6 Una Rx-sucesion de reemplazo 〈Snxr(C)〉n∈N es convergente si

existe k ∈ N tal que para toda l ≥ k, Slxr(C) = Sk

xr(C). En otro caso la sucesiones divergente.

Definicion 4.7 Una Rx-sucesion de reemplazo 〈Snxr(C)〉n∈N es refutacional si

existe k ∈ N tal que Skxr(C) = .

4.3. COMPLETUD DE HIPERRESOLUCION BAJO REEMPLAZO 87

Ejemplo 4.2 Sea C = Px1 ∨Qx1, Px1 ∨ ¬Qx1, Qx1 ∨ ¬Px1,¬Px1 ∨ ¬Qx1.Entonces

1. La sucesionC, Px1, Qx1,¬Px1,¬Qx1,

es una R∅r-sucesion refutacional.

2. La sucesionC, Px1, Qx1, ∅

es una RHr-sucesion refutacional.

3. Si D = C− ¬Px1 ∨ ¬Qx1 entonces D es satisfacible y la sucesion

D, Px1, Qx1, Px1, Qx1, . . .

es una RHr-sucesion convergente.

4. Si D = Pa, Pfx1 ∨ ¬Px1 entonces D es satisfacible y la sucesion dereemplazo para D es:

D,D ∪ Pfa,D ∪ Pfa, Pf 2a, . . .

que resulta divergente pues Pfka ∈ SkHr(C)− Sk−1

Hr (C) para k > 0.

5. Si D = Pf2x1, P fx1 ∨ ¬Px1 entonces la sucesion de reemplazo paraD converge. De hecho S1

Hr(D) = S0Hr(D) = D pues Pf3x1 = ρH(D) y

Pf2x1 ≤ss Pf3x1.

Como se observa en el ejemplo anterior, si un conjunto es satisfacible, nada sepuede decir acerca de la convergencia de la sucesion de reemplazo. Para losconjuntos no satisfacibles, como veremos, la sucesion de reemplazo es refuta-cional, y es en este sentido como entendemos la completud bajo reemplazo.Especıficamente probaremos la completud de hiperresolucion bajo reemplazo,la prueba se sirve en gran medida de los siguientes lemas.

Definicion 4.8 Sean C,D clausulas en PN-forma. Definimos la relacion ≤ss0

como: C ≤ss0 D syss existe una sustitucion ϑ tal que LIT (C+)ϑ ⊆ LIT (D+)y C−ϑ = D−

Resulta inmediato que si C ≤ss0 D entonces C ≤ss D. El siguiente lemamejora la exposicion original de [Lei97], en sentido de claridad.

Lema 4.4 Sean Γ′ : (C;D′1, . . . D

′n),Γ : (C;D1, . . .Dn) sucesiones conflictivas

tales que Di ≤ss D′i. Sea R′

i el i-esimo resolvente intermedio de Γ′. Entoncesexiste una clausula Ri tal que Ri ≤ss0 R

′i.

dem:

Vamos a construir Ri recursivamente. Para i = 0 tenemos R′0 = C y definimos

R0 = R′0. Trivialmente R0 ≤ss0 R

′0.

Supongamos que Ri se ha definido, para i < n. Hay que analizar dos casos.

88 4. SUBSUNCION

a) Ri es positiva. En tal caso definimos Ri+1 = Ri. Como Ri ≤ss0 R′i y Ri

es positiva entonces Ri ≤ss R′i. Dado que R′

i+1 es un RFP-resolvente deR′

i y Di entonces R′i debe ser de la forma R′

i = E′i+1∨¬Q

′ donde Q′ es unatomo. Ası que claramente Ri ≤ss E

′i+1, pues Ri es positiva y Ri ≤ss R

′i.

Ademas R′i+1 contiene una instancia de E ′

i+1 pues es un RFP-resolventede E′

i+1 ∨ ¬Q′ y D′

i y el atomo que se resuelve es Q′. De esto concluimosque Ri ≤ss R

′i+1, es decir, Ri+1 ≤ss R

′i+1, pero como Ri+1 es positiva

entonces Ri+1 ≤ss0 R′i+1.

b) Ri no es positiva. Tenemos dos subcasos.

ba) Di+1 ≤ss R′i+1. En este caso definimos Ri+1 = Di+1 y como Di+1 es

positiva entonces Ri+1 ≤ss0 R′i+1.

bb) Di+1 6≤ss R′i+1. Como Ri ≤ss0 R

′i entonces existe una sustitucion ϑ

tal que LIT (R+i )ϑ ⊆ LIT (R

′+i ) y R−

i ϑ = R′−i . Puesto que R′

i+1 es unRFP-resolvente de R′

i y D′i+1 podemos encontrar clausulas negativas

Ti, T′i (o tal vez Ti = T ′

i = ) tales que Ri = R+i ∨ Ti ∨ ¬Q, R′

i =

R′+i ∨ T

′i ∨ ¬Q

′, Tiϑ = T ′i y Qϑ = Q′.

Sea F ′i+1 = G′

1 ∨ P′ ∨ G′

2 un factor de D′i+1 tal que P ′ es la literal

sobre la que se resolvio en el resolvente binario de R′i y F ′

i+1. Comopor hipotesis Di+1 ≤ss D

′i+1, hay dos posibilidades.

bba) Di+1 ≤ss G′1 ∨ G

′2. Entonces claramente Di+1 ≤ss R

′i+1 y con-

cluimos como en el subcaso ba).

bbb) Existe un factor Fi+1 de Di+1 tal que Fi+1 = G1 ∨ P ∨ G2,donde LIT (G1 ∨G2)η ⊆ LIT (G′

1 ∨G′2) y Pη = P ′ para alguna

sustitucion η. Sea σ un umg de P ′, Q′, entonces R′i+1 = (G′

1 ∨

G′2 ∨ R

′+i ∨ T

′i )σ. Suponiendo spg que dom(η) ∩ dom(ϑ) = ∅,

η ∪ ϑ esta bien definida y (η ∪ ϑ)σ unifica a P,Q. Por lo tantopodemos tomar un umg τ de P,Q.Definimos Ri+1 = (G1 ∨G2 ∨R

+i ∨ Ti)τ y como existe ρ tal que

τρ = (η ∪ ϑ)σ es facil ver que Ri+1 ≤ss0 R′1+1.

a

Lema 4.5 Las sucesiones de reemplazo para hiperresolucion subsumen a losestratos del operador de hiperresolucion (sin subsuncion). Es decir, si C es unconjunto de Nc-clausulas entonces para toda k ∈ N, Sk

Hr(C) ≤ss SkH(C).

dem:

El lector puede cerciorarse de que SkH(sub(C)) = Sk

h(C) para toda k ∈ N, por loque podemos suponer s.p.g. que C es reducido bajo subsuncion. Dicho lo cualprocedemos por induccion sobre k.

• k = 0. Tenemos S0H(C) = C = sub(C) = S0

Hr(C). De manera queS0

Hr(C) ≤ss S0H(C) trivialmente.

4.3. COMPLETUD DE HIPERRESOLUCION BAJO REEMPLAZO 89

• Hipotesis de Induccion. SkHr(C) ≤ss S

kH(C).

• P.D. Sk+1Hr (C) ≤ss S

k+1H (C).

Claramente Sk+1Hr (C) ≤ss S

kHr(C) por lo que, usando la HI y la transitivi-

dad de ≤ss tenemos Sk+1Hr (C) ≤ss S

kH(C). Ası que basta con demostrar

que Sk+1Hr (C) ≤ss ρH(Sk

H(C)).Sea E′ ∈ ρH(Sk

H(C)), es decir, existe una sucesion conflictiva Γ′ : (C ′;D′1,

. . . , D′n), con C ′, D′

i ∈ SkH(C) tal que E′ es un hiperresolvente de Γ′.

Por HI existen C,D1, . . . , Dn ∈ SkHr(C) tales que C ≤ss C

′ y Di ≤ss D′i.

Si C no es positiva entonces Γ : (C;D1, . . . , Dn) es una sucesion conflic-tiva sobre Sk

Hr(C). Tenemos dos casos, el caso facil es cuando C /∈ C.Como C ∈ Sk

Hr(C) − C entonces C = C+, es decir, C es positiva y dadoque C ≤ss C

′ entonces existe ϑ tal que LIT (C)ϑ ⊆ LIT (C ′+). Puestoque C ′ es el nucleo de Γ′ entonces E′ debe contener una subclausulade la forma C ′+η para alguna sustitucion η. De lo anterior concluimosque LIT (C)ϑη ⊆ LIT (E ′), es decir, C ≤ss E′. Como C ∈ Sk

Hr(C) ySk+1

Hr (C) ≤ss SkHr(C) entonces existe D ∈ Sk+1

Hr (C) tal que D ≤ss C. Porlo tanto D ≤ss E

′ y terminamos este caso.Veamos ahora que sucede cuando C ∈ C. Tenemos C ′ ∈ C pues enotro caso Γ′ no serıa una sucesion conflictiva y ademas como C es re-ducido bajo subsuncion y C ≤ss C ′ entonces C = C ′, en particularΓ : (C;D1, . . . , Dn) es una sucesion conflictiva sobre Sk

Hr(C). Aplicandoel lema 4.4 con Γ′ : (C;D′

1, . . . , D′n) y Γ : (C;D1, . . . , Dn), obtenemos

que Rn ≤ss0 R′n = E′. Por la manera en que se construyen los Ri

en el lema 4.4, Rn es Di para alguna i ≤ n o bien es hiperresolventede una sucesion conflictiva (C;D1, . . . , Dl) para alguna l ≤ n. Por lotanto Rn ∈ Sk

Hr(C) ∪ ρH(SkHr(C)). Si definimos E = Rn, entonces

E ≤ss E′, pues E ≤ss0 E

′ y E es positiva; ademas existe una clausulaE0 ∈ sub(Sk

Hr(C) ∪ ρH(SkHr(C))) tal que E0 ≤ss E, (E0 podrıa ser E).

Por lo tanto existe E0 ∈ Sk+1 tal que E0 ≤ss E.Por lo tanto Sk+1

Hr (C) ≤ss Sk+1H (C) y la prueba esta terminada.

a

Finalmente concluimos el teorema de completud correspondiente.

Teorema 4.2 (Completud de Hiperresolucion bajo Reemplazo).Sea C un conjunto no satisfacible de Nc-clausulas. Entonces la sucesion dereemplazo para C, 〈Sn

xr(C)〉n∈N es una sucesion refutacional.

dem:

Como C es no satisfacible, el teorema 2.7 garantiza que existe k ∈ N tal que ∈ Sk

H(C). Mediante el lema 4.5 sabemos que SkHr(C) ≤ss Sk

H(C) y comounicamente subsume a , concluimos que ∈ Sk

Hr(C) lo cual implica queSk

Hr = , es decir, 〈Snxr(C)〉n∈N es una sucesion refutacional. a

90 4. SUBSUNCION

4.4 El Algoritmo de Stillman para Subsuncion

En la proposicion 4.3 mostramos que el proceso de subsuncion es decidible. Noobstante, el procedimiento de decision que puede obtenerse de esa proposicion esaltamente ineficaz. En esta seccion presentamos un procedimiento de decisionoptimo mediante el algoritmo de Stillman [Sti73] para subsuncion. La ideaprincipal del algoritmo consiste en buscar la sustitucion adecuada de izquierdaa derecha. Veamos un ejemplo.

Ejemplo 4.3 Sean C = Px ∨ Pfxy, D = Pa ∨ Pb ∨ Pfba. Queremos de-cidir si C ≤ss D. Para enviar la primera literal Px de C a D tenemos varioscandidatos, a saber, ϑ1 = x/a, ϑ2 = x/b, ϑ3 = x/fba. Claramente laeleccion adecuada es ϑ2 que podemos extender a µ = x/b, y/a con lo cualtenemos LIT (C)µ ⊆ LIT (D), es decir, C ≤ss D.Si hubieramos elegido ϑ1 eventualmente debemos corregir la eleccion con ϑ2.Supongase que intercambiamos las literales de C de modo que Pfxy es laprimera; entonces claramente µ es la unica sustitucion que permite la subsuncion

Con este ejemplo se ve la importancia del orden de las literales en el procesoalgorıtmico para hallar una sustitucion que subsuma.La idea del algoritmo de Stillman, ST en adelante, es la siguiente: Sea C =L1∨ . . .∨Ln y supongase que ya se hallo ϑi tal que L1∨ . . .∨Liϑi ⊆ LIT (D),si se logra extender alguna ϑi a ϑn entonces C ≤ss D, en caso contrarioC 6≤ss D.En el ejemplo anterior, ϑ2 puede extenderse a µ lo cual no es posible con ϑ1, ϑ3.Para la especificacion de ST usamos las siguientes funciones auxiliares: unif(L,M) que es una funcion booleana que es verdadera syss L,M es unificable; lafuncion umg(L,M) que calcula un umg de L,M en caso de que este conjuntosea unificable y esta indefinida en otro caso. ST queda representado mediantela funcion booleana 5-aria STI(C,D, i, j, ϑ) donde i apunta a las literales de C,j apunta a las literales de D y ϑ es una sustitucion. Esta version del algoritmoes nuestra y se basa en la version de [Lei97].

Precondicion: C = L1 ∨ . . . ∨ L|C|, D = K1 ∨ . . . ∨K|D|

function STI(C,D, i, j, ϑ):Boolean.begin

if j >| C | then

STI(C,D, i, j, ϑ) := false;else

a := jwhile not unif(Liϑ,Ka) and a ≤| D | do

a := a+ 1;end while

if a >| D | then

STI(C,D, i, j, ϑ) := false;else

µi := umg(Liϑ,Ka);if i =| C | or STI(C,D, i+ 1, 1, ϑµi) then

4.4. EL ALGORITMO DE STILLMAN PARA SUBSUNCION 91

STI(C,D, i, j, ϑ) := true;else

STI(C,D, i, a+ 1, ϑ)end if

end if

end if

end

begin

ST (C,D) := STI(C,D, 1, 1,∅)if ST (C,D) then

write(’C ≤ss D’);else

write(’C 6≤ss D’);end if

end

Postcondicion: LIT (C)ϑn ⊆ LIT (D) o C 6≤ss D.

La ejecucion de ST puede describirse con ayuda de un arbol que definimosenseguida.

Definicion 4.9 Sean C = L1 ∨ . . . Ln, D = K1 ∨ . . . ∨Km dos clausulas. De-finimos el ST -arbol T (C,D) mediante la definicion recursiva del conjunto denodos y de aristas del i-esimo nivel, para 1 ≤ i ≤ n. Los nodos seran parejas denaturales, ademas definimos una sustitucion ϑij correspondiente al nodo (i, j) .Para i = 0 sean N0 = (0, 0), A0 = ∅ y ϑ00 = ∅.Sean N ∈ Ni, 1 ≤ j ≤ m y µ una sustitucion sobre V (Li+1ϑN ) tal queLi+1ϑNµ = Kj . Entonces (i + 1, j) ∈ Ni+1 y (N, (i + 1, j)) ∈ Ai, finalmentedefinimos ϑ(i+1)j = ϑNµ. Si no existe Kj tal que Li+1ϑN ≤s Kj entonces N esuna hoja.

Ejemplo 4.4 Sean C = Pxy ∨ Pyz ∨ Pxz y D = Pab ∨ Pbc ∨ Pba. Entoncesϑ00 = ∅, ϑ11 = x/a, y/b y L1ϑ11 = K1.Existe µ = z/c tal que L2ϑ11µ = K2, por lo tanto (2, 2) ∈ N2 y ϑ22 =x/a, y/b, z/c. Despues de calcular ϑ22 no existe Kj tal que L3ϑ22 ≤s Kj , porlo tanto (2, 2) es una hoja. En este momento se aplica el proceso de retroceso(backtracking) y ST produce ϑ23 = x/a, y/b, z/a. Pero tambien se obtieneL3ϑ23 6≤s Kj para j = 1, 2, 3 y ST retrocede para definir ϑ12 y ası sucesivamente.

Por definicion de ST -arbol, ST (C,D) = true syss existe un camino de longitud|D| en T (C,D). Ademas el numero de nodos en T (C,D) coincide con el numerode sustituciones generadas por ST .

Para terminar la seccion hacemos el analisis de correctud del algoritmo deStillman.

Teorema 4.3 ST es un algoritmo de decision para subsuncion, es decir, siC 6= y D es cerrada entonces ST siempre termina y ST (C,D) = true syssC ≤ss D.

92 4. SUBSUNCION

dem:

Primero veamos que ST siempre termina. El numero de llamadas anidadas deSTI esta acotado por |C|, ademas el maximo numero de llamadas correspondi-entes a un nodo del ST -arbol es |D|. Por lo tanto el numero total de llamadasa STI es menor o igual que |NOD(T (C,D)||D|.Para demostrar la correctud de ST hacemos induccion sobre |C|.

• |C| = 1. Calculamos STI(C,D, 1, 1,∅). El proceso entra en el ciclo-whilecon a = 1 y ϑ = ∅. Tenemos dos casos:

– Existe a tal que a ≤ |D| y unif(L1,Ka).En tal caso existe ϑ tal que L1ϑ ∈ LIT (D) y como C = L1 entoncesC ≤ss D. Pero como |C| = 1 entonces ST (C,D) = STI(C,D, 1, 1,∅) = true.

– Para toda a ≤ |D|, unif(L1,Ka) = false.El ciclo-while devuelve a = |D| + 1 y por lo tanto ST (C,D) =STI(C,D, 1, 1,∅) = false. Como las Ka son cerradas y unif(L1,Ka) es falso entonces L1 6≤s Ka para toda Ka ∈ LIT (D), por lotanto L1 = C 6≤ss D.

• Hipotesis de Induccion. Si |C| ≤ k entonces C ≤ss D syss ST (C,D) =true.

• Sea C tal que |C| = k + 1 con k ≥ 1. Tenemos dos casos.

– La primera ejecucion del ciclo-while devuelve a = |D|+ 1.Por definicion tenemos STI(C,D, 1, 1,∅) = ST (C, d) = false, ade-mas como a = |D| + 1 entonces no existe ϑ tal que L1ϑ ∈ LIT (D).Pero esto significa que L1 6≤ss D lo cual implica que C ≤ss D.

– La primera ejecucion del ciclo-while devuelve a ≤ |D| y el umg µ1 =umg(L1,Ka). Como |C| 6= 1 entonces se llama a STI(C,D, 2, 1, µ1);observese que si C ′ = C \L1 entonces STI(C ′µ1, D, 1, 1,∅) devuelveel mismo valor que STI(C,D, 2, 1, µ1) y como |C ′| = k entoncespor HI STI(C ′µ1, D, 1, 1,∅) = true syss C ′µ1 ≤ss D. Ahora bien,si STI(C,D, 2, 1, µ1) = true entonces STI(C,D, 1, 1,∅) = true =ST (C,D), por definicion de ST . Por otra parte tenemos L1µ1 ∈LIT (D) y LIT (C ′µ1)ϑ ⊆ LIT (D) para alguna ϑ, pues C ′µ1 ≤ss D.Como L1µ1 es cerrada entonces L1µ1 = L1µ1ϑ, por lo que L1µ1ϑ ∈LIT (D). De todo esto obtenemos LIT (C)µ1ϑ = LIT (L1µ1ϑ ∨C ′µ1ϑ) ⊆ LIT (D), es decir, C ≤ss D.Si STI(C,D, 2, 1, µ1) = false entonces podemos buscar una nuevasustitucion µ1. En general podemos obtener sustituciones µ1i ejecu-tando el ciclo-while correspondiente a los nodos de nivel 1 de T (C,D).Si STI(C,D, 2, 1, µi1) = true para algun µ1i se procede como arriba,obteniendose C ≤ss D y por definicion ST (C,D) = true. Ası quesupongamos que para cualquier µ1i definido en el nivel 1 de T (C,D)

4.4. EL ALGORITMO DE STILLMAN PARA SUBSUNCION 93

se obtiene STI(C,D, 2, 1, µi1) = false. Esto significa que para todaK ∈ LIT (D), si L1µ = K entonces C ′µ 6≤ss D. Ahora observese losiguiente

(?) C ≤ss D syss existe ϑ tal que dom(ϑ) = V (L1), L1ϑ ∈ LIT (D)y (C \L1)ϑ ≤ss D.

Pero STI produce todas las sustituciones ϑ tales que dom(ϑ) =V (L1) y L1ϑ ∈ LIT (D). Sea Λ el conjunto de tales sustituciones. Eneste caso Λ solo consiste de las µ1i, ası que STI(C,D, 2, 1, ϑ) = falsepara toda ϑ ∈ Λ. Por lo tanto ST (C ′ϑ,D, 1, 1,∅) = false para todaϑ ∈ Λ, de donde por HI obtenemos que C ′ϑ 6≤ss D para toda ϑ ∈ Λ.Mediante (?) y la definicion de Λ obtenemos que

C ≤ss D syss existe ϑ ∈ Λ tal que C ′ϑ ≤ss D

Finalmente como no existe tal ϑ ∈ Λ concluimos que C 6≤ss D ypor definicion de STI obtenemos STI(C,D, 1, 1,∅) = false. Con-secuentemente ST (C,D) = false y la prueba esta completa.

a

En este capıtulo presentamos, mediante la tecnica de subsuncion, una ma-nera de evitar redundancia y eliminar clausulas innecesarias. Este proceso per-mite optimizar la busqueda de una refutacion, al reducir el numero de clausulasretenidas.Ademas hemos mostrado que el proceso de subsuncion es compatible con laregla de resolucion, en el sentido de conservar la completud, lo cual justificaque la combinacion de subsuncion y resolucion durante la busqueda permanececorrecta.Con este capıtulo terminamos la exposicion de resultados que justifican los pro-cesos implementados en OTTER, si bien alguna combinacion de procesos podrıaresultar incompleta, como el uso de UR-resolucion en clausulas que no sean deHorn, su uso puede resultar de utilidad en casos particulares para resolver unproblema especıfico, (vease [McC95], pag 43).

El siguiente y ultimo capıtulo se ocupa de describir, a grandes rasgos, laarquitectura de OTTER y de dar algunos ejemplos especıficos que muestran losprocesos descritos en los capıtulos anteriores.

94 4. SUBSUNCION

Capıtulo 5

OTTER

En este capıtulo presentaremos brevemente al programa de razonamiento au-tomatico OTTER (Organized Techniques for Theorem Proving and EffectiveResearch), del laboratorio nacional de Argonne, Ill. USA. No pretendemos daraquı un curso tutorial para su manejo; solo haremos una descripcion general desus principales aspectos y daremos algunos ejemplos que utilizan las reglas deinferencia y procesos descritos anteriormente.Para conocer a fondo todas las funciones del programa vease [McC95], ademasen [WOLB92] se puede encontrar un tutorial basico del programa, mientras que[Wos96] contiene un tutorial avanzado.Antes de pasar a la descripcion de OTTER hacemos un parentesis historico deldesarrollo de programas de razonamiento automatico en el laboratorio nacionalde Argonne.

1963 Primera Generacion. PG1 (Program 1), disenado por Larry Wos, DanCarson y George Robinson. Implementacion de la estrategia de preferenciade unidades.1

1967 RG1, disenado por Wos y George Robinson. Implementacion de resolucionbinaria, factorizacion, paramodulacion ası como de la estrategia del con-junto de soporte.

1970 Segunda Generacion iniciada por Ross Overbeek, estaba basada en NIUTP(Northern Illinois University Theorem Prover) programa que evolucionoen AURA (AUtomated Reasoning Assistant) y sus variantes. Contribu-ciones de Brian Smith, Rusty Lusk, Bob Veroff, Steve Winker y Wos. Lageneracion NIUTP/AURA fue escrita principalmente en IBM ensambladory PL/1 e incluıa las primeras implementaciones eficientes de hiperresolu-cion, demodulacion, paramodulacion e introdujo UR-resolucion y peso. Elresultado fue el primer conjunto de programas que produjo respuestas a

1Esta estrategia causa que un programa de razonamiento automatico prefiera escoger almenos una clausula unitaria como padre de una regla de inferencia.

95

96 5. OTTER

diversos problemas abiertos en algebra booleana y semigrupos entre otrostemas.

1980 Tercera Generacion. Iniciada por Overbeek, Lusk y William McCune.Consistıa principalmente de LMA (Logic Machine Architecture) e ITP (In-teractive Theorem Prover). LMA era una herramienta para construir sis-temas de deduccion, escrito en Pascal; ITP fue construido con LMA y sufuncionalidad era similar a la de AURA. Las motivaciones para construirlos dos programas fueron una ingenierıa de software correcta y su portabi-lidad. Diversos demostradores experimentales basados en tecnologıa paracompilar programas logicos fueron tambien parte de la tercera generacion.

1987 Cuarta Generacion. En junio de 1987 McCune inicio la escritura de unnuevo demostrador; para diciembre ya habia suficiente codigo en lenguajeC util para la investigacion acerca de reglas de inferencia y estrategiasde busqueda. Tal programa fue llamado posteriormente OTTER. Otrosmiembros de la cuarta generacion son ROO (Radical OTTER Optimiza-tion) que es una version paralela de OTTER escrita por John Slaney, Lusky McCune; FDB (Formula DataBase) una herramienta para unificacione indexacion escrita por Overbeek y Ralph Butler; MACE (Models AndCounterExamples) un buscador de modelos finitos escrito por McCune;y el mas reciente programa de razonamiento automatico de Argonne es-crito tambien por McCune, EQP (Equational Theorem Prover) que es unprograma para la logica ecuacional que implementa AC-Unificacion.

Para un poco mas de historia vease [OL97].

5.1 Estrategia

Si bien resulta claro que los metodos de razonamiento automatico basados enresolucion son mucho mejores que aquellos basados en el teorema de Herbrand,como el presentado en [AM98], necesitamos mucho mas para lograr que unprograma de razonamiento automatico sea efectivo; una de las cosas que estorequiere es el uso de estrategias . Una estrategia es una serie de metarreglasque guıan la aplicacion de las reglas de inferencia. Si una estrategia decide queregla de inferencia debe aplicarse en cierto momento del proceso, decimos quees una estrategia de direccion. Si una estrategia evita el uso de ciertas reglas deinferencia entonces decimos que es una estrategia de restriccion. Ambos tiposde estrategia son necesarios para la efectividad de un programa de razonamientoautomatico.Actualmente la estrategia de restriccion mas poderosa es la estrategia del con-junto de soporte [WRC65]. Intuitivamente dicha estrategia le prohibe a unprograma de razonamiento automatico aplicar una regla de inferencia a menosque uno de los padres o premisas se haya deducido o sea miembro de un conjuntodistinguido de clausulas de entrada. En la seccion 2.7.2 hemos probado que estaestrategia resulta completa en combinacion con resolucion, por lo que tambien

5.1. ESTRATEGIA 97

lo sera para hiperresolucion. La completud de esta estrategia con paramodu-lacion puede verse en [RW69].En la practica el conjunto de soporte debe escogerse con criterios semanticospara explotar con mayor efectividad la estrategia. Por ejemplo, si se deseaprobar un teorema de la forma P1 ∧ . . . ∧ Pn → Q, basta probar la nosatisfacibilidad de S = Cl(P1), . . . , Cl(Pn), Cl(¬Q). Ahora bien, podemosidentificar tres subconjuntos en S, el conjunto de axiomas o hipotesis del areade estudio del teorema a probar; un conjunto de clausulas particulares del teo-rema en particular (que ocasionalmente es vacıo) y el conjunto de clausulas quecorresponde a la negacion de la conclusion. Una eleccion adecuada para el con-junto de soporte es este ultimo conjunto.

En contraste con las estrategias de restriccion, una estrategia de direcciondicta hacia donde dirigir la atencion. Una de las mas poderosas estrategias deeste tipo es la estrategia del peso. Para utilizar esta estrategia el usuario asignaprioridades o pesos a las variables, sımbolos de funcion y de predicado y a losterminos. De esta manera el usuario informa al programa acerca de que con-ceptos considera claves para la resolucion del problema en cuestion. A estasprioridades se les confıa la direccion del programa en la eleccion de la siguienteclausula a procesar. Un programa de razonamiento automatico que emplea pe-sos elige la clausula con el peso mas favorable; en el caso de OTTER, se prefierenclausulas mas ligeras, es decir, clausulas con menor peso.La estrategia del peso puede utilizarse independientemente de las reglas de in-ferencia en accion, imponiendo una estrategia de direccion en el procesamientode clausulas. Ademas, el peso tambien pone un lımite que causa la eliminacionde clausulas cuyo peso es mayor que el lımite, de esta forma el peso imponetambien una estrategia de restriccion.En cualquier forma que sea usada, esta estrategia puede causar la perdida dela completud refutacional. Como estrategia de restriccion la completud refuta-cional puede perderse mediante la posibilidad de eliminar una clausula dema-siado pesada. Como estrategia de direccion la perdida resultarıa de la posibili-dad de que el programa mantenga nuevas clausulas tan ligeras que la clausulanecesaria nunca se examine. Sin embargo, si no hay lımite en el peso y el pro-grama analiza exhaustivamente todas las clausulas, la completud refutacionalno se perdera mediante el peso.OTTER tambien ofrece una tecnica efectiva para busqueda de pruebas cortasconocida como la estrategia de la razon. Esta estrategia fue formulada paracombinar la busqueda en la base de datos de clausulas retenidas, es decir, paraescoger que clausula debe ser la siguiente en procesar. Aunque el peso es de granutilidad para guiar la busqueda de un programa, su uso retrasa y hasta evitael procesamiento de clausulas muy pesadas. Una manera para seleccionar conanticipacion clasulas pesadas es utilizar la busqueda a lo ancho (breadth-firstsearch). Esta manera sera exitosa al menos para las clausulas de bajo nivel.2

2En referencia al nivel del arbol de busqueda, las clausulas de entrada tienen nivel ceroy una clausula obtenida mediante inferencia tiene como nivel el sucesor del maximo de los

98 5. OTTER

Sin embargo una busqueda a lo ancho fuerza al programa a escoger en cadanivel un numero mayor de clausulas. Para combinar las dos estrategias tenemosla estrategia de la razon, que dado un entero k causa que el programa elija paraprocesar k clausulas por peso y despues una por nivel.El estudio de nuevas y mejores estrategias es de gran importancia y es uno delos principales temas de investigacion actualmente.

5.2 Arquitectura

OTTER esta escrito en lenguaje C el cual proporciona velocidad y portabilidad.Consta de aproximadamente 35000 lineas de codigo (incluyendo comentarios).Las clausulas y terminos se almacenan en estructuras de datos compartidas, locual optimiza la indexacion y las operaciones de inferencia y ahorra memoria.Para accesar terminos y clausulas para operaciones de subsuncion, aplicacionesde reglas de inferencia y demodulacion existen algoritmos de indexacion espe-cialmente disenados. OTTER esta disenado para correr en un ambiente UNIXaunque existen versiones limitadas que corren bajo DOS o Macintosh.

OTTER lee un archivo de entrada que contiene un conjunto de formulas oclausulas de la logica de primer orden con igualdad, dividido en listas y al-guna informacion extra para controlar la ejecucion. El conjunto de formulasincluye a las hipotesis y la negacion de la conclusion (todas las pruebas son porcontradiccion); la informacion de control consiste de diversos parametros y ban-deras que especifican las reglas de inferencia que se utilizaran y las estrategiasde busqueda. Mientras OTTER busca, va escribiendo la informacion obtenida aun archivo de salida, incluyendo la refutacion buscada si esta se encontro. Lasformulas se construyen con los siguientes sımbolos:

negacion -

conjuncion &disyuncion |

implicacion ->

equivalencia <->

cuantificacion existencial exists

cuantificacion universal all

igualdad =

desigualdad !=

Las reglas de inferencia que OTTER conoce son resolucion binaria, hiperre-solucion, hiperresolucion negativa y UR-resolucion. El razonamiento ecuacionalse hace mediante paramodulacion y diversas formas de demodulacion. La fac-torizacion, a diferencia de la manera en que la tratamos en el capitulo 2, no

niveles de sus padres.

5.2. ARQUITECTURA 99

esta incorporada en la resolucion sino que se considera como una regla inde-pendiente. Mediante el comando set(ri) se le indica al programa que regla deinferencia usar y mediante el comando clear(ri) se le indica que regla dejarde usar. Aquı ri puede ser una de las siguientes:

binary res. Si esta bandera se habilita se utiliza la regla de resolucionbinaria para generar nuevas clausulas.

hyper res. Si esta bandera se habilita se utilizara la hiperresolucion paragenerar nuevas clausulas.

neg hyper res. Si se habilita se utilizara la hiperresolucion negativa paragenerar nuevas clausulas.

ur res. Si se habilita, la regla de UR-resolucion se utilizara para generarnuevas clausulas.

para into. Si se habilita se utilizara paramodulacion hacia la clausuladada3 para generar nuevas clausulas. Al usar paramodulacion se debeincluir en la entrada la clausula x = x.

para from. Si se habilita se utilizara paramodulacion desde la clausuladada para generar nuevas clausulas.

demod inf Si se habilita se utilizara la demodulacion como inferencia.Esto es util cuando el objetivo principal es reescritura de terminos. Si labandera esta habilitada la clausula dada se copia y procesa como cualquierclausula recien generada.

En lo que respecta al control, un proceso de OTTER puede ser visto comouna cerradura computacional con control de redundancia, es decir, OTTER in-tenta calcular la cerradura de un conjunto de enunciados de entrada bajo unconjunto de reglas de inferencia, aplicando reglas de eliminacion y simplificacion(subsuncion y demodulacion) que preservan la completud refutacional del sis-tema de inferencia. Tal proceso de cerradura es controlado por un ciclo queveremos en la siguiente seccion.

5.2.1 El proceso de inferencia de OTTER

OTTER trabaja con clausulas unicamente, pero es posible proporcionarle formu-las cualesquiera como entrada, las cuales seran transformadas automaticamentea forma clausular. El mecanismo basico de inferencia de OTTER es el algoritmode la clausula dada que se puede ver como una implementacion de la estrategiadel conjunto de soporte. OTTER mantiene cuatro listas de clausulas:

usable. En esta lista estan las clausulas disponibles para hacer inferencias.

3Cf. siguiente seccion

100 5. OTTER

sos. Es la lista del conjunto de soporte (set of support), las clausulas deesta lista no estan disponibles para hacer inferencias por sı solas; estanesperando para participar en la busqueda de una refutacion.

passive. Las clausulas de esta lista no participan directamente en labusqueda; se usan unicamente para subsuncion y conflicto de unidades.Esta lista esta fija desde el inicio y no cambia durante el proceso.

demodulators. Aquı estan los demoduladores que se usan para reescribirlas clausulas inferidas.

Alguna de estas listas puede estar vacıa. El ciclo de inferencia principal esel algoritmo de la clausula dada que opera en las listas sos y usable

while sos 6= ∅ o no haya una refutacion do

Sea Cd la clausula mas ligera de sos;sos := sos− Cd;usable := usable ∪ Cd;Infiere(Cd);

end while

Donde el proceso Infiere(Cd) genera nuevas clausulas utilizando las reglas deinferencia en accion con la condicion de que cada clausula nueva debe tenera Cd como uno de sus padres y elementos de la lista usable como sus padresrestantes. Ademas las nuevas clausulas se someten a pruebas de retencion yaquellas que sobreviven se agregan a la lista sos.

El proceso por el que pasa una clausula recien inferida Cn es el siguiente:

1: Renombrar las variables de Cn;2: ∗ Imprimir Cn;3: Aplicar demodulacion a Cn;4: ∗ Orientar igualdades;5: ∗ Aplicar eliminacion de clausulas unitarias;6: Fusionar literales identicas (se mantiene la que esta mas a la izquierda);7: ∗ Simplificar mediante factorizacion;8: ∗ Eliminar Cn y terminar si Cn tiene demasiadas literales o variables;9: Eliminar Cn y terminar si Cn es una tautologıa;

10: Eliminar Cn y terminar si Cn es muy pesada;11: ∗ Ordenar literales;12: ∗ Eliminar Cn y terminar si Cn es subsumida por alguna clausula de usable∪

sos ∪ passive (Subsuncion hacia adelante);13: Agregar Cn a sos;14: ∗ Imprimir Cn;15: Si Cn tiene cero literales entonces se hallo una refutacion;

5.2. ARQUITECTURA 101

16: Si Cn tiene una literal, buscar en usable∪sos∪passive un conflicto de unidades(refutacion) con Cn;

17: ∗ Imprimir la demostracion si se hallo una refutacion;18: ∗ Intentar agregar Cn como demodulador;19: Si se aplico el paso 18 demodular hacia atras;20: Eliminar cada clausula de usable ∪ sos que sea subsumida por Cn (Sub-

suncion hacia atras);21: Factorizar Cn y procesar los factores.

Los pasos marcados con ∗ son opcionales y los marcados con son pasos op-cionales que se aplican hasta que los anteriores se aplicaron a todas las clausulasobtenidas mediante Infiere(Cd).La eliminacion de clausulas unitarias a las que se refiere el paso 5 consiste eneliminar una literal de una clausula recien generada si es la negacion de unainstancia de una clausula unitaria que figura en usable ∪ sos. Por ejemplo, lasegunda literal de P (a, x)∨Q(a, x) es eliminada por la literal ¬Q(u, v), pero nose elimina mediante ¬Q(u, b) pues la unificacion requiere la instanciacion de x.El paso 11 ordena las literales de manera que las negativas aparezcan antes quelas positivas.

5.2.2 El Modo Autonomo

Aunque OTTER no es un programa interactivo, se utiliza casi siempre de estamanera. Realizamos una busqueda, examinamos la salida, cambiamos las ban-deras para ajustar el comportamiento e iniciamos una nueva busqueda. Si bienel proceso de elegir nuevos parametros para reiniciar una busqueda no puedeser automatizado aun, OTTER ofrece un modo de hacerlo bastante efectivo enalgunos casos, llamado el modo autonomo que es util para usuarios inexpertosası como para resolver problemas sencillos o para situaciones en las que OTTERes llamado desde otro programa.En el modo autonomo, OTTER habilita incondicionalmente diversas opciones yparticiona las clausulas de entrada en las listas usable y sos. Despues analizala entrada para verificar si todas las clausulas son proposicionales, si son deHorn, si la igualdad esta presente y en tal caso si hay axiomas de igualdad. Elalgoritmo del modo autonomo es el siguiente:

max mem := 12 megabytes;set(control memory);pick given ratio := 4;set(process input);Poner las clausulas positivas en sos;Poner las clausulas negativas en usable;if todas las clausulas son proposicionales then

set(propositional);set(hyper res);

else

if hay clausulas no unitarias then

102 5. OTTER

set(hyper res);if todas las clausulas son de Horn then

clear(ordered hyper).else

set(factor);set(unit deletion);

end if

end if

if hay igualdades then

set(knuth bendix);if hay axiomas de igualdad then

clear(paramodulation flags);end if

end if

end if

El parametro max mem limita la memoria disponible para almacenamiento declausulas y estructuras de datos relacionadas, el parametro pick given ratio

implementa la estrategia de la razon, la bandera process input causa quelas clausulas de entrada se procesen como clausulas derivadas, propositionalprovoca que se efectuen diversas optimizaciones, la bandera ordered hyper ha-bilitada por default evita que los satelites se resuelvan con literales no maxi-males, la bandera factor habilita la factorizacion, la bandera unit deletion

provoca que cada clausula unitaria digamos P se utilice como regla de reescri-tura P = TRUE para simplificar clausulas no unitarias derivadas, la banderaknuth bendix provoca que se habiliten diversas opciones para que la busquedase comporte como un proceso de complecion de Knuth-Bendix, con la fraseparamodulation flags indicamos diversas banderas de paramodulacion. Parauna mejor descripcion de estos conceptos vease [McC95].

5.3 Literales de Respuesta

Muchas veces se le puede presentar a un programa de razonamiento automaticouna pregunta existencial. En este caso tal vez no es suficiente con hallar unarefutacion, sino que nos gustarıa hallar la respuesta a tal pregunta. Por ejemplo,si tenemos las clausulas P (a, b), P (b, c),¬P (x, y) ∨ ¬P (y, z) ∨ A(x, z) donde Psignifica “ser padre de” y A “ser abuelo de” y nos preguntamos si A(x, z) en-tonces nos gustarıa saber no solamente si existe un par en la relacion “ser abuelode” sino tambien saber cual es. Esto es lo que hacen las literales de respuesta.La clausula ¬A(x, z) representa a la negacion de la pregunta ∃x, z A(x, z), perosi se le proporciona al programa esta clausula junto con las anteriores, esteunicamente respondera con la clausula vacıa sin producir la respuesta explıcitade quienes son x y z. Si agregamos a la pregunta una literal de respuesta deno-tada Ans(x, z) entonces al ejecutar el programa este no terminara con sinocon Ans(a, c) como era de esperarse.En general si la pregunta es ∃xP (x) entonces la clausula correspondiente es

5.3. LITERALES DE RESPUESTA 103

¬P (x) ∨ Ans(x) la cual corresponde a la formula ∀x(P (x) → Ans(x)) que sig-nifica que si el objeto x cumple P entonces “x” es la respuesta que necesitamos.Si se halla una refutacion entonces en lugar de la clausula vacıa obtendremos enla literal de respuesta el objeto cuya existencia se ha probado.El uso principal de literales de respuesta es para recordar instancias de variablesrealizadas durante la busqueda por una refutacion. En OTTER una literal derespuesta se denota con los sımbolos $ans,$Ans o $ANS. La mayorıa de las ruti-nas de OTTER incluyendo las que cuentan clausulas o deciden si una clausulaes positiva o negativa ignoran las literales de respuesta, ademas OTTER nuncaintenta factorizar literales de respuesta.En matematicas es practica comun encontrar la solucion de un problema sim-plemente probando su existencia. Por ejemplo, para encontrar la solucion deuna ecuacion primero se puede probar que esta existe y tal vez a partir de estaprueba hallemos el objeto que representa la solucion. Veamos un ejemplo alrespecto. En lenguaje de OTTER escribiremos, los comentarios inician con unsigno %.

Ejemplo 5.1 Tenemos los siguientes axiomas.

∀x∀y∀z ((x+ y) + z = x+ (y + z)) Asociatividad.

∀x∀y∃z (z + x = y) Existencia de solucion por la izquierda.

∀x∀y∃z (x+ z = y) Existencia de solucion por la derecha.

y queremos preguntarnos si hay una identidad derecha, es decir, si

∃x∀y (y + x = y)

Proporcionamos a OTTER el siguiente programa de entrada.

% Iniciamos el modo autonomo en OTTER 3.0.5, si se usa OTTER 3.0.4 hay que%poner set(auto).

set(auto2).

% Se colocan los axiomas en la lista usable como formulas,utilizando el co-mando list(usable), si se desean dar las % clausulas directamente se debeusar list en lugar de formula list. La lista debe terminarse con el comantoend of list.

formula list(usable).

all x y z (f(f(x,y),z)=f(x,f(y,z))).

all x y exists z (f(z,x)=y).

all x y exists z (f(x,z)=y).

end of list.

104 5. OTTER

% Se coloca la negacion de la pregunta ya en forma clausular junto con la literal% de respuesta en la lista sos. Observese que h es una funcion de Skolem.

list(sos).

f(h(x),x) ! = h(x) | $Ans(x).

end of list.

% Hasta aquı el programa de entrada.

Despues de unos segundos OTTER devuelve un archivo de salida el cualcontiene entre otras cosas la lista usable transformada a clausulas de la siguientemanera:

list(usable).

f(f(x,y),z)=f(x,f(y,z)).

f($f1(x,y),x)=y.

f(x,$f2(x,y))=y.

end of list.

donde las funciones $f1 y $f2 son funciones de Skolem. Ademas en lugar de laclausula vacıa la respuesta es $Ans($f2(y,y)). Lo cual significa que la identidadbuscada es $f2(y,y).La prueba que tambien aparece en el programa de salida se analizara en lasiguiente seccion.

Para una vision mas general del uso de las literales de respuesta ası como paraver mas ejemplos sugerimos consultar el capıtulo 11 de [CL73]. Para cuestionesde la semantica de las literales de respuesta el artıculo [Kun96] es muy accesibledespues de haber leido esta seccion y el primer capıtulo de este trabajo.

5.4 Ejemplos

Para culminar este trabajo presentamos algunos ejemplos sencillos que mues-tran las principales funciones de OTTER. Todos los ejemplos son tomados de[CL73, Lov78, McC95] pero la implementacion y eleccion de reglas en cada casoes aportacion nuestra.

OTTER manda su salida a la salida estandar pero es mas comodo redirec-cionar la salida hacia un archivo, por ejemplo si el programa de entrada se llamapro1.in, mediante la instruccion

[ekaterina]$ 4 otter < pro1.in > pro1.out

4Esto denota al prompt de UNIX

5.4. EJEMPLOS 105

se genera un archivo pro1.out que contiene los resultados obtenidos por elprograma.La primera parte del archivo de salida contiene a la entrada ası como algunainformacion adicional, como las clausulas obtenidas, si se dieron formulas comoentrada, identificacion de clausulas mediante una numeracion y las banderashabilitadas si se uso el modo autonomo. La segunda parte del archivo de salidarefleja la busqueda, en esta parte figuran las clausulas dadas, clausulas

retenidas ası como diversos mensajes acerca del procesamiento.La tercera parte del archivo consta de la o las pruebas halladas mientras que laultima parte presenta diversas estadısticas.Para entender una prueba de OTTER debemos explicar que significa la listaque precede a cada clausula. Cada clausula C que figura en la salida tiene lasiguiente forma:

n [. . .] C.

donde n es un numero llamado el identificador de la clausula y la lista [. . .]consta de lo siguiente. Si la lista es vacıa entonces se trata de una clausula deentrada, si no el primer elemento de la lista puede ser:

- Una regla de inferencia. Indicando que la clausula se genero mediante talregla de inferencia, los identificadores de los padres se listan despues delnombre de la regla de inferencia, listando en primer lugar a la clausuladada.

- Un identificador de clausula. Indicando que la clausula fue generada pordemodulacion, siempre y cuando la bandera demod inf, que indica el usode demodulacion como regla de inferencia, este habilitada.

- new demod. Indicando que la clausula es un demodulador recien generado;esta clausula es una copia de la clausula cuyo identificador se lista despuesde new demod.

- back demod. Indicando que la clausula se genero demodulando haciaatras la clausula cuyo identificador figura inmediatamente despues deback demod.

- demod. Indicando que la clausula se genero demodulando hacia atras unaclausula de entrada.

- factor simp Indicando que la clausula fue generada factorizando unaclausula de entrada.

la sublista [demod,Id1, . . . , Idn] indica demodulacion con Id1, . . . , Idn, la sub-lista [unit del,Id1, . . . , Idn] indica eliminacion de unidades con Id1, . . . , Idn.Si la bandera detailed history esta habilitada entonces al utilizar las reglaspara from, para into, binary res las posiciones de las literales o terminosunificados se listan junto con los identificadores de los padres. Por ejemplo,

106 5. OTTER

[binary, 57.3, 30.2] significa que la tercera literal de la clausula 57 se re-solvio con la segunda literal de la clausula 30.Para la paramodulacion la clausula “desde” se lista como Id.i.j donde i es elnumero de la literal de igualdad y j es 1 o 2, que indica el numero del termino quese esta unificando en la igualdad; la clausula “hacia” se lista como Id.i.j1. . . . .jndonde i es el numero de la literal del termino “hacia” y j1. . . . .jn es el vector deposicion del termino “hacia”; por ejemplo, 400.3.1.2 denota al segundo argu-mento del primer argumento de la tercera literal de la clausula 400. Veamos unejemplo trivial para analizar el archivo de salida y entender la notacion.

Ejemplo 5.2 Considerese el siguiente programa de entrada:

set(binary_res).

set(para_into).

list(usable).

P(x)| -Q(x,y).

Q(a,b).

a=f(b,c).

end_of_list.

list(sos).

-P(f(b,c)).

end_of_list.

OTTER produce inmediatamente el siguiente archivo de salida, los comen-tarios iniciados con % no figuran en el archivo, los agregamos para explicar loscomponentes del archivo

----- Otter 3.0.5, Feb 1998 -----

The process was started by favio on ekaterina,

Wed Sep 16 15:45:46 1998

The command was "otter". The process ID is 688.

set(binary_res).

dependent: set(factor).

dependent: set(unit_deletion).

set(para_into).

list(usable).

1 [] P(x)| -Q(x,y).

2 [] Q(a,b).

3 [] a=f(b,c).

end_of_list.

list(sos).

5.4. EJEMPLOS 107

4 [] -P(f(b,c)).

end_of_list.

======= end of input processing =======

% Hasta aquı la primera parte del archivo de salida, el cual incluye simplementea la entrada y habilita las banderas de factorizacion y eliminacion de unidades porser dependientes de binary res.

% A continuacion mostramos la segunda parte del archivo, que incluye a lageneracion de clausulas mediante el algoritmo de la clausula dada (given clause) ya la refutacion.

=========== start of search ===========

given clause #1: (wt=4) 4 [] -P(f(b,c)).

** KEPT (pick-wt=5): 5 [binary,4.1,1.1] -Q(f(b,c),x).

** KEPT (pick-wt=2): 6 [para_into,4.1.1,3.1.2] -P(a).

given clause #2: (wt=2) 6 [para_into,4.1.1,3.1.2] -P(a).

** KEPT (pick-wt=3): 7 [binary,6.1,1.1] -Q(a,x).

----> UNIT CONFLICT at 0.03 sec ----> 8 [binary,7.1,2.1] $F.

Length of proof is 2. Level of proof is 2.

% con pick-wt o wt se denota el peso de cada clausula. UNIT CONFLICT

quiere decir que se genero la clausula vacıa denotada con $F. En este caso hubodos clausulas dadas (#1 y #2) y la clausula vacıa se hallo en 0.03 segundos.

% A continuacion viene la prueba, con la notacion ya explicada.

---------------- PROOF ----------------

1 [] P(x)| -Q(x,y).

2 [] Q(a,b).

3 [] a=f(b,c).

4 [] -P(f(b,c)).

6 [para_into,4.1.1,3.1.2] -P(a).

7 [binary,6.1,1.1] -Q(a,x).

8 [binary,7.1,2.1] $F.

------------ end of proof -------------

108 5. OTTER

Search stopped by max_proofs option.

============ end of search ============

% Hasta aquı la segunda parte del archivo de salida. La busqueda terminopues el parametro max proofs vale por default uno, lo cual indica que se pare labusqueda en cuanto se halle la primera refutacion.% La tercera parte del archivo de salida mostrada a continuacion simplementeproporciona diversas estadisticas.

-------------- statistics -------------

clauses given 2

clauses generated 3

binary_res generated 2

para_into generated 1

factors generated 0

demod & eval rewrites 0

clauses wt,lit,sk delete 0

tautologies deleted 0

clauses forward subsumed 0

(subsumed by sos) 0

unit deletions 0

factor simplifications 0

clauses kept 3

new demodulators 0

empty clauses 1

clauses back demodulated 0

clauses back subsumed 0

usable size 5

sos size 2

demodulators size 0

passive size 0

hot size 0

Kbytes malloced 63

----------- times (seconds) -----------

user CPU time 0.04 (0 hr, 0 min, 0 sec)

system CPU time 0.00 (0 hr, 0 min, 0 sec)

wall-clock time 0 (0 hr, 0 min, 0 sec)

input time 0.01

clausify time 0.00

binary_res time 0.00

para_into time 0.00

pre_process time 0.01

renumber time 0.00

5.4. EJEMPLOS 109

demod time 0.00

order equalities 0.00

unit deleletion 0.00

factor simplify 0.00

weigh cl time 0.00

hints keep time 0.00

sort lits time 0.00

forward subsume 0.00

delete cl time 0.00

keep cl time 0.00

hints time 0.00

print_cl time 0.00

conflict time 0.01

new demod time 0.00

post_process time 0.00

back demod time 0.00

back subsume 0.00

factor time 0.00

unindex time 0.00

That finishes the proof of the theorem.

Process 688 finished Wed Sep 16 15:45:46 1998

Por ultimo presentamos algunos ejemplos mas interesantes, nos limitamos adar los programas de entrada completos y la prueba que proporciona el archivode salida.

Ejemplo 5.3 Tenemos el siguiente problema de geometrıa tomado de [Lov78].Problema: Un triangulo isosceles tiene dos angulos iguales.a, b, c representan los vertices del triangulo.T (x, y, z) significa que los puntos x, y, z forman un triangulo.C(u, v, w, x, y, z) significa que el triangulo uvw es congruente con el trianguloxyz.S(u, v, x, y) significa que el segmento uv es igual al segmento xy.A(u, v, w, x, y, z) significa que el angulo uvw es igual al angulo xyz.

El programa de entrada es el siguiente:

%set(auto2). %Clausula vacia en 49.

%set(hyper_res). %Clausula vacia en 36

%set(binary_res). %Clausula vacia en 64.

%set(neg_hyper_res). %Clausula vacia en 56.

110 5. OTTER

set(ur_res). %Clausula vacia en 32.

list(sos).

T(a,b,c).

S(a,c,b,c).

-A(c,a,b,c,b,a).

end_of_list.

list(usable).

S(x,y,y,x).

-S(u,v,x,y)| S(x,y,u,v).

-S(u,v,x,y)| S(v,u,x,y).

-T(x,y,z)| T(y,z,x).

-T(x,y,z)| T(y,x,z).

-C(u,v,w,x,y,z)| A(u,v,w,x,y,z).

-C(u,v,w,x,y,z)| A(v,u,w,y,x,z).

-C(u,v,w,x,y,z)| A(u,w,v,x,z,y).

-S(u,v,x,y)| -S(v,w,y,z)| -S(u,w,x,z)| -T(u,v,w)

| -T(x,y,z)| C(u,v,w,x,y,z).

end_of_list.

Dependiendo de la regla que se utilice para hacer inferencias el numerode clausulas generadas crece. A continuacion presentamos la prueba con UR-resolucion que es la que produjo menos clausulas, resultando mas eficiente queel modo autonomo que hallo la refutacion en 49 pasos.

---------------- PROOF ----------------

1 [] T(a,b,c).

2 [] S(a,c,b,c).

3 [] -A(c,a,b,c,b,a).

4 [] S(x,y,y,x).

5 [] -S(u,v,x,y)|S(x,y,u,v).

6 [] -S(u,v,x,y)|S(v,u,x,y).

7 [] -T(x,y,z)|T(y,z,x).

8 [] -T(x,y,z)|T(y,x,z).

11 [] -C(u,v,w,x,y,z)|A(u,w,v,x,z,y).

12 [] -S(u,v,x,y)| -S(v,w,y,z)| -S(u,w,x,z)| -T(u,v,w)| -T(x,y,z)

|C(u,v,w,x,y,z).

14 [ur,1,7] T(b,c,a).

16 [ur,14,8] T(c,b,a).

17 [ur,14,7] T(c,a,b).

18 [ur,2,6] S(c,a,b,c).

20 [ur,18,5] S(b,c,c,a).

24 [ur,20,6] S(c,b,c,a).

5.4. EJEMPLOS 111

27 [ur,24,5] S(c,a,c,b).

28 [ur,27,12,24,4,16,17] C(c,b,a,c,a,b).

31 [ur,3,11] -C(c,b,a,c,a,b).

32 [binary,31.1,28.1] $F.

------------ end of proof -------------

Ejemplo 5.4 Todo grupo de exponente dos es abeliano.Con este ejemplo mostramos el uso de la paramodulacion desde y hacia laclausula dada.

%set(auto2).

set(para_from).

set(para_into).

set(process_input).

% Con la siguiente bandera se analizaran todas las igualdades

% generadas como posibles demoduladores.

set(dynamic_demod_all).

list(sos). % En este caso se soportan todas las clausulas.

x=x. % Agregamos el axioma de reflexividad.

f(e,x)=x.

f(x,g(x))=e.

f(f(x,y),z)=f(x,f(y,z)).

f(x,x)=e.

f(a,b) != f(b,a).

end_of_list.

A continuacion presentamos la prueba obtenida con este programa de en-trada.

---------------- PROOF ----------------

3,2 [] f(e,x)=x.

4 [] f(x,g(x))=e.

6 [] f(f(x,y),z)=f(x,f(y,z)).

8 [] f(x,x)=e.

10 [] f(a,b)!=f(b,a).

11 [copy,10,flip.1] f(b,a)!=f(a,b).

14 [para_into,6.1.1.1,4.1.1,demod,3,flip.1] f(x,f(g(x),y))=y.

112 5. OTTER

16 [para_into,6.1.1.1,8.1.1,demod,3,flip.1] f(x,f(x,y))=y.

20 [para_into,6.1.1,8.1.1,flip.1] f(x,f(y,f(x,y)))=e.

25,24 [para_into,16.1.1.2,4.1.1] f(x,e)=g(x).

27,26 [para_into,16.1.1.2,8.1.1,demod,25] g(x)=x.

30 [para_from,20.1.1,14.1.1.2,demod,25,27,27,flip.1]

f(x,f(y,x))=y.

34 [para_from,30.1.1,14.1.1.2,demod,27] f(x,y)=f(y,x).

35 [binary,34.1,11.1] $F.

------------ end of proof -------------

Si no se hubieran procesado primero las clausulas de entrada, omitiendo labandera process input, la clausula vacıa se hallarıa en 79 pasos y no en 35.

Ejemplo 5.5 Mostrar que el conjunto

S = x = a∨x = b,¬(g(x) = x), R(a, b), R(g(a), g(b)),¬R(a, g(a))∨¬R(b, g(b))

es no satisfacible.El programa de entrada es el siguiente.

set(auto2).

%set(para_into).

%set(binary_res).

%set(back_demod).

list(usable).

x=x.

x=a| x=b.

g(x)!= x.

R(a,b).

R(g(a),g(b)).

end_of_list.

list(sos).

-R(a,g(a))| -R(b,g(b)).

end_of_list.

Vamos a presentar tres pruebas, la primera usa resolucion binaria y paramo-dulacion hacia la clausula dada. Se obtuvo la refutacion en 1050 pasos y 8.72segundos, se generaron 1962 clausulas, 52 por resolucion, 1208 por paramodu-lacion 702 por factorizacion. Ademas se subsumieron 1006 clausulas.

5.4. EJEMPLOS 113

---------------- PROOF ----------------

2 [] x=a|x=b.

3 [] g(x)!=x.

4 [] R(a,b).

5 [] R(g(a),g(b)).

6 [] -R(a,g(a))| -R(b,g(b)).

9 [para_into,6.2.1,2.2.2] -R(a,g(a))| -R(x,g(b))|x=a.

35 [binary,9.2,5.1,unit_del,3] -R(a,g(a)).

36 [para_into,35.1.1,2.1.2] -R(x,g(a))|x=b.

39 [para_into,36.1.2.1,2.1.2] -R(x,g(y))|x=b|y=b.

40 [para_into,36.2.2,36.2.2] -R(x,g(a))|x=y| -R(y,g(a)).

41 [para_into,36.2.2,2.2.2] -R(x,g(a))|x=y|y=a.

42 [factor,39,2,3] -R(x,g(x))|x=b.

58 [para_into,42.2.2,2.2.2] -R(x,g(x))|x=y|y=a.

355 [binary,41.3,3.1] -R(x,g(a))|x=g(a).

423 [binary,58.3,3.1] -R(x,g(x))|x=g(a).

857 [para_into,40.1.2,355.2.2] -R(x,y)|x=z| -R(z,g(a))

| -R(y,g(a)).

874 [factor,857,3,4] -R(x,y)|x=y| -R(y,g(a)).

882 [binary,874.1,4.1] a=b| -R(b,g(a)).

924 [para_into,882.1.1,2.1.2,factor_simp] x=b| -R(b,g(a)).

959 [binary,924.1,3.1] -R(b,g(a)).

976 [para_into,959.1.1,36.2.2,factor_simp] -R(x,g(a)).

998 [para_into,976.1.2.1,2.1.2] -R(x,g(y))|y=b.

999 [para_into,976.1.2,423.2.2] -R(x,y)| -R(y,g(y)).

1022 [binary,999.1,4.1] -R(b,g(b)).

1030 [para_into,1022.1.2.1,998.2.2,factor_simp] -R(b,g(x)).

1037 [para_into,1030.1.1,2.2.2] -R(x,g(y))|x=a.

1049 [binary,1037.1,5.1] g(a)=a.

1050 [binary,1049.1,3.1] $F.

------------ end of proof -------------

En la segunda prueba se consigue la refutacion en 508 pasos y 1.89 segundossimplemente agregando la demodulacion hacia atras en la segunda prueba.

---------------- PROOF ----------------

2 [] x=a|x=b.

3 [] g(x)!=x.

4 [] R(a,b).

5 [] R(g(a),g(b)).

6 [] -R(a,g(a))| -R(b,g(b)).

114 5. OTTER

9 [para_into,6.2.1,2.2.2] -R(a,g(a))| -R(x,g(b))|x=a.

35 [binary,9.2,5.1,unit_del,3] -R(a,g(a)).

36 [para_into,35.1.1,2.1.2] -R(x,g(a))|x=b.

37 [para_into,35.1.2.1,2.1.2] -R(a,g(x))|x=b.

39 [para_into,36.1.2.1,2.1.2] -R(x,g(y))|x=b|y=b.

41 [para_into,36.2.2,2.2.2] -R(x,g(a))|x=y|y=a.

49 [para_into,37.2.2,2.2.2] -R(a,g(x))|x=y|y=a.

353 [binary,41.3,3.1,flip.2] -R(x,g(a))|g(a)=x.

375 [para_into,353.1.2.1,2.1.2] -R(x,g(y))|g(a)=x|y=b.

381 [factor,375,2,3] -R(b,g(g(a)))|g(a)=b.

393 [para_into,381.1.1,39.2.2,factor_simp,factor_simp]

-R(x,g(g(a)))|g(a)=b.

460 [binary,49.3,3.1,flip.2] -R(a,g(x))|g(a)=x.

488 [para_into,460.1.1,2.1.2] -R(x,g(y))|g(a)=y|x=b.

491 [para_into,460.1.2,393.2.1,unit_del,4,3] -R(x,g(g(a))).

500,499 [factor,488,2,3,unit_del,5] g(a)=b.

507 [back_demod,491,demod,500] -R(x,g(b)).

508 [binary,507.1,5.1] $F.

------------ end of proof -------------

La tercera prueba muestra la efectividad del modo autonomo mediante elcual se obtiene una prueba con hiperresolucion y demodulacion hacia atras ensolo 12 pasos:

---------------- PROOF ----------------

1 [] g(x)!=x.

2 [] -R(a,g(a))| -R(b,g(b)).

4 [] x=a|x=b.

5 [] R(a,b).

6 [] R(g(a),g(b)).

8,7 [hyper,4,1] g(a)=b.

10,9 [hyper,4,1] g(b)=a.

11 [back_demod,6,demod,8,10] R(b,a).

12 [back_demod,2,demod,8,10,unit_del,5,11] $F.

------------ end of proof -------------

Los siguientes dos ejemplos muestran el uso de las literales de respuesta.

Ejemplo 5.6 En este ejemplo mostramos la prueba del ejemplo 5.1.

---------------- PROOF ----------------

1 [] f(h(x),x)!=h(x)|$Ans(x).

2 [] f(f(x,y),z)=f(x,f(y,z)).

5.4. EJEMPLOS 115

4 [] f($f1(x,y),x)=y.

6 [] f(x,$f2(x,y))=y.

9 [para_into,2.1.1.1,4.1.1,flip.1] f($f1(x,y),f(x,z))=f(y,z).

18,17 [para_into,9.1.1.2,6.1.1] f($f1(x,y),z)=f(y,$f2(x,z)).

26 [back_demod,4,demod,18] f(x,$f2(y,y))=x.

28 [binary,26.1,1.1] $Ans($f2(y,y)).

------------ end of proof -------------

Ejemplo 5.7 Veamos la solucion al famoso problema del chango y el platanoutilizando literales de respuesta.P (x, y, z, u) denota que en el estado u, el chango esta en la posicion x, el platanoen y y la silla en z.R(x) denota que en el estado x el chango puede alcanzar el platano.camina(y, z, u) denota al estado obtenido si el chango estaba en el estado u ycamina de y a z.carga(y, z, u) denota al estado obtenido si el chango estaba en el estado u ycamina de y a z cargando la silla.sube(u) es el estado obtenido si el chango estaba en el estado u y sube a la silla.

Suponemos que el chango esta en la posicion a, el platano en la posicion b, lasilla en la posicion c y que el chango esta en el estado s1. El programa deentrada es el siguiente:

set(auto2).

list(sos).

P(a,b,c,s1).

- R(u)| $ANS(u).

end_of_list.

list(usable).

-P(x,y,z,u)| P(z,y,z, camina(x,z,u)).

-P(x,y,x,u)| P(y,y,y, carga(x,y,u)).

-P(b,b,b,u)| R(sube(u)).

end_of_list.

La prueba obtenida mediante el modo autonomo es:

---------------- PROOF ----------------

1 [] -P(x,y,z,u)|P(z,y,z,camina(x,z,u)).

2 [] -P(x,y,x,z)|P(y,y,y,carga(x,y,z)).

3 [] -P(b,b,b,x)|R(sube(x)).

4 [] P(a,b,c,s1).

5 [] -R(x)|$ANS(x).

6 [hyper,4,1] P(c,b,c,camina(a,c,s1)).

116 5. OTTER

7 [hyper,6,2] P(b,b,b,carga(c,b,camina(a,c,s1))).

9 [hyper,7,3] R(sube(carga(c,b,camina(a,c,s1)))).

10 [binary,9.1,5.1] $ANS(sube(carga(c,b,camina(a,c,s1)))).

------------ end of proof -------------

De manera que si el chango camina desde a hasta c toma la silla y caminahasta b cargando la silla y sube a la silla podra alimentarse.

Para finalizar el capıtulo veamos como OTTER resuelve el problema de com-plecion de Knuth-Bendix de la seccion 3.4.

Debe quedar claro que mediante la bandera knuth bendix OTTER simple-mente altera una serie de opciones para que la busqueda se comporte comoun procedimiento de complecion. OTTER no fue disenado como un sistemade complecion de manera que tal implementacion no ha sido optimizada. Sinembargo, si al colocar el conjunto de ecuaciones a completar junto con x = xen la lista sos, la busqueda termina con la lista sos vacıa, entonces la lista dedemoduladores contiene la complecion del conjunto original.

Ejemplo 5.8 Queremos completar el conjunto

E = e ∗ x = x, i(x) ∗ x = e, (x ∗ y) ∗ z = x ∗ y ∗ z

El programa de entrada es el siguiente:

set(knuth_bendix).

set(print_lists_at_end).

list(sos).

x=x.

e*x=x.

i(x)*x=e.

(x*y)*z=x*y*z.

end_of_list.

En este caso OTTER termina con el mensaje “sos empty” y las listas finalesson:

Search stopped because sos empty.

============ end of search ============

list(usable).

1 [] x=x.

5.4. EJEMPLOS 117

2 [] e*x=x.

4 [] i(x)*x=e.

6 [] (x*y)*z=x*y*z.

8 [para_into,6.1.1.1,4.1.1,demod,3,flip.1] i(x)*x*y=y.

14 [para_into,8.1.1.2,4.1.1,demod,11] x*e=x.

18 [para_into,14.1.1,4.1.1,flip.1] i(e)=e.

20 [para_into,10.1.1,14.1.1,demod,15] i(i(x))=x.

24 [para_into,10.1.1,4.1.1,flip.1] x*i(x)=e.

22 [para_into,10.1.1,8.1.1,flip.1] x*i(x)*y=y.

42 [para_from,34.1.1,8.1.1.2,flip.1] i(x*y)=i(y)*i(x).

end_of_list.

list(sos).

end_of_list.

list(demodulators).

3 [new_demod,2] e*x=x.

5 [new_demod,4] i(x)*x=e.

7 [new_demod,6] (x*y)*z=x*y*z.

9 [new_demod,8] i(x)*x*y=y.

15 [new_demod,14] x*e=x.

19 [new_demod,18] i(e)=e.

21 [new_demod,20] i(i(x))=x.

23 [new_demod,22] x*i(x)*y=y.

25 [new_demod,24] x*i(x)=e.

43 [new_demod,42] i(x*y)=i(y)*i(x).

end_of_list.

Con estos ejemplos hemos mostrado los principales mecanismos de OTTER.Otros ejemplos sencillos pueden verse en [AM98]. Para ver la gran variedad deaplicaciones, tanto a las matematicas como a las ciencias de la computacion,consultese [WOLB92] o la pagina web de OTTER. Ademas una gran variedadde teoremas importantes de la teorıa de conjuntos de Von-Neumann-Bernays-Godel, la aritmetica de Peano, la geometrıa de Tarski y los teoremas de incom-pletud de Godel con ayuda de la logica modal K4 pueden consultarse en la tesisdoctoral de Art Quaife, reproducida en [Qua92].Queremos terminar este trabajo con una tesis bastante atrevida del mismoQuaife:

Cualquier problema formulable matematicamente y que puede ser resuelto, podraser resuelto por un programa de razonamiento automatico.

¿ Cierto, falso, inverosımil, concebible ? la pregunta queda en el aire.

118 5. OTTER

Bibliografıa

[AGM92] S. Abramsky, D. Gabbay, T.S.E. Maibaum (Editores). Handbookof Logic in Computer Science, Vol. 2. Background: ComputationalStructures. Oxford Science Publications. 1992.

[AN89] H. Aıt-Kaci, M. Nivat, (Editores). Resolution of Equations in Al-gebraic Structures 2. Academic Press. 1989.

[Amo99] J.A. Amor. Compacidad en la Logica de Primer Orden y su relacioncon el Teorema de Completud. Facultad de Ciencias UNAM. 1999.

[AM98] J. A. Amor, F. E. Miranda. Demostracion Automatica de Teore-mas y la Nutria. En Memorias del XXX Congreso Nacional de laSMM. Aportaciones Matematicas 22, Serie Comunicaciones, SMM.Mexico 1998.

[BS94] F. Baader, J. Siekmann. Unification Theory. En [GHR94b] 1994.

[BDP89] L. Bachmair, N. Dershowitz, D. Plaisted. Completion Without Fail-ure. En [AN89] 1989.

[Bra75] D. Brand. Proving Theorems with the Modification Method. SIAMJournal on Computing V.4. No. 4, 1975.

[CL73] C. Chang, R. Lee. Symbolic Logic and Mechanical Theorem Prov-ing. Academic Press. 1973.

[DP60] M. Davis H. Putnam, A Computing Procedure for CuantificationTheory. Journal of the ACM, V.7. No.3, 1960.

[Der89] N. Dershowitz. Completion and Its Applications. En [AN89] 1989.

[GHR94a] D.M. Gabbay, C.J. Hogger, J.A. Robinson (Editores). Handbookof Logic In Artificial Intelligence and Logic Programming, Vol 1.Logical Foundations. Oxford Science Publications. 1994.

[GHR94b] D. M. Gabbay, C.J. Hogger, J.A. Robinson (Editores). Handbookof Logic In Artificial Intelligence and Logic Programming, Vol 2.Deduction Methodologies. Oxford Science Publications. 1994.

119

120 BIBLIOGRAFIA

[Gil60] P.C. Gilmore. A Proof Method for Cuantification Theory ; its jus-tification and realization. IBM J. Res. Develop. 4, 28-35, 1960.

[Hue81] G. Huet. A complete proof of correctness of the Knuth-Bendix com-pletion algorithm. Journal of Computer and System Sciences. V.23No. 1. 1981.

[Klo92] J.W. Klop. Term Rewriting Systems. En [AGM92]. 1992.

[KB70] D. Knuth, P. Bendix, Simple Word Problems in Universal Alge-bras. En Computational Problems in Abstract Algebra. J. Leech,(editor). Oxford Pergamon Press. 1970.

[Kun96] K. Kunnen. The Semantics of Answer Literals. Journal of Auto-mated Reasoning. V. 17. Kluwer. 1996.

[LP91] J.L. Lassez, G. Plotkin (Editores). Computational Logic, Essays inHonor of Alan Robinson. MIT Press. 1991.

[Lei97] A. Leitsch. The Resolution Calculus. Springer Verlag. 1997.

[Lov78] D.W. Loveland. Automated Theorem Proving: A logical basis.North Holland. 1978.

[Llo87] J.W. Lloyd. Foundations of Logic Programming, second edition.Springer-Verlag. 1987.

[McC95] W. McCune. OTTER 3.0 Reference Manual and Guide. TechnicalReport, UC-405, ANL-94/6. Argonne National Laboratory. 1995.

[McC97] W. McCune. 33 Basic Test Problems: A Practical Evaluation ofSome Paramodulation Strategies. En [VP97]. 1997

[MW97] W. McCune, L. Wos. OTTER, The CADE-13 Competition Incar-nations. Journal of Automated Reasoning V. 18. Kluwer. 1997.

[Mir99] F. E. Miranda. Logica Computacional, Notas de Clase para elCurso de Analisis Logico. Por aparecer, Facultad de CienciasUNAM 1999.

[Pla94] D. A. Plaisted. Equational Reasoning and Term Rewriting Systems.En [GHR94a]. 1994.

[OL97] R. Overbeek, E. Lusk. Wos and Automated Deduction at ANL:The Ethos. En [VP97]. 1997.

[Qua92] A. Quaife. Automated Development of Fundamental MathematicalTheories. Kluwer Academic Publishers. 1992.

[Ram96] J.A. Ramırez. Un Acercamiento a la Demostracion Automatica deTeoremas. Tesis de licenciatura. UNAM. 1996.

BIBLIOGRAFIA 121

[RW69] G. Robinson, L. Wos. Paramodulation and theorem proving in firstorder theories with equality. En Machine Intelligence V. 4. Ameri-can Elsevier. New York. 1969

[Rob65] J.A. Robinson. A Machine oriented logic based on the resolutionprinciple. Journal of the ACM V. 12 No. 1, 23-41. 1965.

[Sab88] S. Sabre. Traduccion Automatica a Forma Clausular. Tesis de li-cenciatura. UNAM. 1988.

[SA91] V. Sperschneider, G. Antoniou. Logic, A Foundation for ComputerScience. Addison-Wesley. 1991.

[Sti73] R.B. Stillman. The concept of weak substitution in theorem prov-ing. Journal of the ACM V. 20 No. 4, 648-667. 1973.

[VP97] R. Veroff, G. Pieper (Editores). Automated Reasoning and Its Ap-plications, Essays in Honor of Larry Wos. MIT Press. 1997.

[Wos96] L. Wos. The Automation of Reasoning an Experimenter’s Notebookwith OTTER Tutorial. Academic Press. 1996.

[Wos98] L. Wos. Programs that Offer Fast, Flawless, Logical Reasoning.Communications of the ACM. V. 41 No. 6. Junio 1998.

[WOL91] L. Wos, R. Overbeek, E. Lusk. Subsumption, a Sometimes Under-valuated Procedure. en [LP91]. 1991.

[WOLB92] L. Wos, R. Overbeek, E. Lusk, J. Boyle. Automated Reasoning,Introduction and Applications. McGraw-Hill. 1992.

[WR70] L. Wos, G. Robinson. Paramodulation and set of support. Proc.Symp. Automatic Demostration. LNM 125, Springer Verlag. 1970.

[WRC65] L. Wos, G. Robinson, D. Carson. Efficiency and completeness of theset of support strategy in theorem proving. Journal of the ACM.V. 12 No. 4. 1965.

[WRC67] L. Wos, G. Robinson, D. Carson. The concept of demodulation intheorem proving. Journal of the ACM. V.14 No. 4. 1967.

[WV94] L. Wos, R. Veroff. Logical basis for the automation of reasoning:case studies. En [GHR94b] 1994.

122 BIBLIOGRAFIA

Indice de Sımbolos

all, 98

α, 70

Ans(x), 103

$Ans, 103

AU, 10

B, 63

back demod, 105binary res, 99

C, 24PENDI, 1Cd, 100CL, 24, 1Cl(ϕ), 5clear( ), 99C \ L, 14C−, 30Cn, 100%, 103& , 98control memory, 101C+, 30C[r], 46

demod, 105demod inf, 99, 105demodulators, 100`R, 18

`RC

, 21

`RP

, 22

Der(R), 26detailed history, 105PENDI, 98

DP, 13

EMod(C), 55

end of list, 103

≡, 47

<->, 98

ER, 64

EΣ, 45

exists, 98

Fac(T), 42

factor, 102

factor simp, 105FNC(ϕ), 3FNP (ϕ), 3FNS(ϕ), 5formula list, 103

γ, 37γD, 40G(C), 48G(L), 48G(t), 48

hyper res, 99

=, 98

->, 98

Infiere(Cd), 100IC(M), 7

K4, 117knuth bendix, 102

list, 103LIT (C), 79Lc, 13L[s], 47

max mem, 101

123

124 INDICE DE SIMBOLOS

max proofs, 108ML, 50M [s/t], 51

Nc, 29-, 98

neg hyper res, 99PENDI, 98

new demod, 105No, 29Nr, 29Ns, 29nsa(C,D), 83Nv, 29

≤L, 33Ω, 24Ω(S), 24→, 64→E , 63→∗

E , 63↔E , 63←E , 63→+

E , 63≤s, 18ordered hyper, 102→∗

R, 64↔R, 64←R, 64→+

R, 64≤ss0, 87↑, 65↓, 65≤sc, 35≤scs, 35≤ss, 79otter, 105

para from, 99para into, 99passive, 100ϕ(S), 25pick given ratio, 101process input, 101propositional, 101ψ(C), 60

ψ(L), 60

R∅, 26RCU , 13RD, 13Rec(ϕ), 2Res(S), 25Res(C,D), 25RH , 32ρH , 32ρS,A, 40ρx, 26RLP , 13RS,A, 40RT , 13RUR, 39Rx, 26Rxr, 86Rxs, 83

Sn∅(S), 26∼sat, 2S?, 26set( ), 99Sko(ϕ), 3Sn

H(S), 32SopT(S), 43sos, 100Sn

S,A(D), 40ST (C,D), 91ST , 90STEMod(S), 57STI(C,D, i, j, ϑ), 90STMod(S), 56sub(C), 86Sn

x (S), 26Sn

xr(C), 86Sn

xs(C), 83

τ(t), 81

t, 70TMod(C), 56

umg(L,M), 90unif(L,M), 90unit deletion, 102

INDICE DE SIMBOLOS 125

ur res, 99usable, 99

V (E), 17

126 INDICE DE SIMBOLOS

Indice

arbolde Davis-Putnam, 14

algoritmode la clausula dada, 99, 100de subsuncion, 90de unificacion, 10del modo autonomo, 101

A-resolvente, 39AURA, 95axiomas

de igualdad, 45

calculode Birkoff, 63

cambio de signos, 37clausula, 1

con soporte, 42aplanada, 55

nivel de una, 55condensada, 29demodulada, 46destino, 47en E-forma, 52en PN-forma, 30en ST-forma, 54en T-forma, 54γ-positiva, 37mixta, 28negativa, 28origen, 47positiva, 28reducida, 13reducto, 17unitaria, 33variante, 17

conflicto semantico, 39

conjuntode soporte, 42discorde, 10

constante de Skolem, 3contexto, 70correctud

del algoritmo de Stillman, 91del algoritmo de unificacion, 12

demodulacion, 45, 46demodulador, 46

E-forma, 52E-inconsistencia, 49E-modelo, 50E-modificacion, 55ecuacion, 62EQP, 96estrategia, 96

de direccion, 96de la razon, 97de preferencia de unidades, 95de restriccion, 96del conjunto de soporte, 42, 96del peso, 97

estructura de Herbrand, 6expresion, 10

formularectificada, 2

formulassatisfaciblemente equivalentes,

2factor, 17

grado de un, 18FDB, 96forma clausular, 5

127

128 INDICE

forma normal, 2condensada, 29conjuntiva, 2de Skolem, 5de un termino, 65prenex, 3

funcion de Skolem, 3

hiperresolucioncompletud bajo reemplazo, 89

hiperresolvente, 31

instanciacerrada, 7general, 17

interpretacionsimetrica, 49

ITP, 96

lemade Newman, 68del levantamiento, 20

literal, 1contraria, 13

literalescomplementarias, 13de respuesta, 103

LMA, 96

Metodode modificacion, 54de Davis-Putnam, 13de Knuth-Bendix, 45

Metodo de Knuth-Bendix, 77MACE, 96

nucleo, 31numero de Godel

de un termino cerrado, 48de una clausula, 48de una literal, 48

NIUTP, 95

operadorde hiperresolucion, 32de normalizacion

de variables, 29

estandar, 29de ordenacion, 29de reduccion, 29de refinamiento, 26

bajo subsuncion, 83completo, 26

de resolucionilimitada, 26semantica, 40

orden de terminacion, 67OTTER, 95, 96

arquitectura, 98listas de clausulas, 99modo autonomo, 101reglas de inferencia, 98

par crıtico, 71paradigma

del lenguaje clausular, 5paramodulacion, 45, 47paramodulante, 47permutacion, 17peso, 97PG1, 95presencia de variable instanciada, 71propiedad

Church-Rosser, 65

R-derivacion, 18con soporte, 43

razonamientologico, vorientado en personas, 5automatico, v

RC-derivacion, 21redex, 69reducto, 17refinamiento, 24

completo, 24relacion

Church-Rosser, 65confluente, 65localmente confluente, 68

Resolucionproposicional, 22

resolucion, 18

INDICE 129

unitaria, 38resolvente, 18

binario, 17semantico, 39

RFP-resolvente, 31RG1, 95ROO, 96RP-derivacion, 22

S-interpretacion, 49parcial, 49

S-modelo, 49satelites, 31sistema

canonico, 67Church-Rosser, 65confluente, 65de reescritura de terminos, 64ecuacional, 62fuertemente normalizable, 67localmente confluente, 68Noetheriano, 67terminal, 67

skolemizacion, 3socio, 55ST-arbol, 91ST-forma, 54ST-modificacion, 56STE-modificacion, 57subsuncion, 79

decidibilidad, 81hacia adelante, 82hacia atras, 82reemplazo, 82

sucesionde reemplazo, 86

convergente, 86refutacional, 86

sucesion conflictiva, 31nucleo de una, 31satelites de una, 31

T-forma, 54T-modificacion, 56T-socio, 55termino

cadena de un, 70contexto de un, 70irreducible, 65no variable, 52redex de un, 69

teoremade Herbrand, 7de compacidad, 8, 9de completud

de DP, 15de la hiperresolucion, 36, 89de la paramodulacion, 60de la resolucion, 23de la resolucion semantica, 42de R-derivaciones, 23de RC-derivaciones, 23de resolucion bajo subsuncion,

85de RP-derivaciones, 22del calculo de Birkoff, 64del conjunto de soporte, 43

de la forma normal de Skolem,4

de los pares crıticos, 72del levantamiento, 20

U-derivacion, 38U-resolvente, 38unificacion, 10

algoritmo de, 10unificador, 10

mas general, 10universo de Herbrand, 6UR-conflicto, 39UR-resolvente, 39