prueba automática de teoremas: un panoralna

22
Prueba automática de teoremas: un panoralna Jaime CABRERA CALVO-SOTELO Universidad Complutense. Madrid Los primeros intentos serios de prueba automática de teoremas fue- ron realizados por Newell y sus colegas a partir de mediados de la déca- da de los cincuenta. El terreno en el que se desarrollaron estas experien- cias fue, como es bien sabido, la parte más elemental de la lógica, el cál- culo de enunciados. Los programas diseñados funcionaban según una es- tructura de medios y fines. El asunto puede esquematizarse de la siguien- te manera: hay una expresión problema (el teorema a demostrar), una se- rie de expresiones dadas (axiomas y teoremas demostrados) y un conjun- to de reglas de transformación aplicables a expresiones. La estrategia con- siste, entonces, en intentar eliminar la 'diferencia' entre algunas de las ex- presiones dadas y la expresión problema mediante la aplicación de las re- glas de transformación, estableciendo para ello una serie de metas inter- medias, o subproblemas, que 'reducen la diferencia'. Si se consigue la meta de eliminar la diferencia, el resultado es una demostración formal del teorema. No obstante, el procedimiento no garantiza el éxito aunque la solución exista, y ello es debido a que el sentido de 'diferencia' y 're- ducción de diferencia' es introducido en el programa mediante una serie de reglas prácticas similares a las que pueden aplicar sujetos humanos al enfrentarse al mismo tipo de problemas. La razón de esto es que la fina- lidad de Newell y su equipo no era sólo conseguir que una máquina pro- . bara teoremas de lógica de enunciados (en este caso hubieran podido pro- gramar alguno de los procedimientos de decisión disponibles), sino la ta- rea mucho más ambiciosa de mecanizar los procesos implicados en el des- cubrimiento de soluciones a una amplia gama de problemas formales, procesos que suelen designarse con palabras un tanto ambiguas como 'in- tuición', 'experiencia', etc. Es por esto que se ha denominado a este en- foque 'heurístico'. T eore1!1a} vol. XIV / 3-4. Editorial de la Universidad Complutense. Madrid. 1984 ... ~I 'J"",' ..,11111 I",TIII 111111111 ---

Upload: independent

Post on 11-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Prueba automática de teoremas: un panoralna

Jaime CABRERA CALVO-SOTELO

Universidad Complutense. Madrid

Los primeros intentos serios de prueba automática de teoremas fue-ron realizados por Newell y sus colegas a partir de mediados de la déca-da de los cincuenta. El terreno en el que se desarrollaron estas experien-cias fue, como es bien sabido, la parte más elemental de la lógica, el cál-culo de enunciados. Los programas diseñados funcionaban según una es-tructura de medios y fines. El asunto puede esquematizarse de la siguien-te manera: hay una expresión problema (el teorema a demostrar), una se-rie de expresiones dadas (axiomas y teoremas demostrados) y un conjun-to de reglas de transformación aplicables a expresiones. La estrategia con-siste, entonces, en intentar eliminar la 'diferencia' entre algunas de las ex-presiones dadas y la expresión problema mediante la aplicación de las re-glas de transformación, estableciendo para ello una serie de metas inter-medias, o subproblemas, que 'reducen la diferencia'. Si se consigue lameta de eliminar la diferencia, el resultado es una demostración formaldel teorema. No obstante, el procedimiento no garantiza el éxito aunquela solución exista, y ello es debido a que el sentido de 'diferencia' y 're-ducción de diferencia' es introducido en el programa mediante una seriede reglas prácticas similares a las que pueden aplicar sujetos humanos alenfrentarse al mismo tipo de problemas. La razón de esto es que la fina-lidad de Newell y su equipo no era sólo conseguir que una máquina pro- .bara teoremas de lógica de enunciados (en este caso hubieran podido pro-gramar alguno de los procedimientos de decisión disponibles), sino la ta-rea mucho más ambiciosa de mecanizar los procesos implicados en el des-cubrimiento de soluciones a una amplia gama de problemas formales,procesos que suelen designarse con palabras un tanto ambiguas como 'in-tuición', 'experiencia', etc. Es por esto que se ha denominado a este en-foque 'heurístico'.

Teore1!1a}vol. XIV / 3-4. Editorial de la Universidad Complutense. Madrid. 1984

... ~I 'J"",' ..,11111 I",TIII 111111111---

----

476 Jaime Cabrera Calvo-Sotelo

En 1960, Hao Wang publicó un conocido artículo) en el que polemi-zaba abiertamente con el anterior enfoque, proponiendo la alternativa 'al-gorítmica'. Wang utilizó el cálculo de secuentes sin regla de corte de Gent-zen (un cálculo en el que, como es sabido, las demostraciones gozan dela propiedad de subfórmula y por ello son susceptibles, con mayor facili-dad, de un tratamiento automático) empleando rutinas que garantizan elhallazgo de una demostración en un número finito de pasos siempre queaquélla exista. El punto básico en que se apoyó en su defensa del 'enfo-que algorítmico' es que la intuición, la experiencia y otros tipos de fenó-menos difícilmente mecanizables, pero sin duda implícitos en la búsque-da de pruebas de teoremas, pueden ser sustituidos por procesos rutina-rios a gran escala que las máquinas pueden realizar a enorme velocidad.Wang propuso posponer las consideraciones heurísticas, al menos en cier-tos campos, y dedicar el esfuerzo a diseñar algoritmos eficientes, esto es,poco redundantes.

Durante las dos últimas décadas se ha generado una considerable can-tidad de literatura en la línea señalada por Wang y para la lógica de pri-mer orden. La pieza clave que permite un tratamiento algorítmico en estecampo es el método introducido por Skolem y Herbrand2 a finales de losaños veinte: un método mecánico de sustitución de variables que garan-tiza la construcción de una fórmula tautol '>gica en un número finito depasos si, y sólo si, se aplica a un teorema te la lógica de primer orden.En caso de que se aplique a una fórmula que 10 es un teorema, puede ocu-rrir que el proceso se prolongue al infinito. El método proporciona, pues,un procedimiento de semidecisión para la lógica de primer orden.

En prueba automática de teoremas se ha empleado una versión se-mántica y dual de la anterior: a partir de una fórmula supuestamente in-satisfacible (esto es, cuya negación es válida) se intenta construir una fór-mula veritativo-funcionalmente insatisfacible. La mayor parte de las in-vestigaciones realizadas han estado dirigidas a mejorar el método básico,que es altamente redundante. Obviamente, todos estos métodos no pro-porcionan una demostración formal en sentido estricto (es decir, una de-rivación del teorema a partir de un conjunto de axiomas), sino, por asídecirlo, una demostración de que existe una demostración formal.

En este artículo se exponen los logros fundamentales conseguidos enla línea de investigación propuesta por Hao Wang. En I se introducen unaserie de' conceptos básicos y se da una formulación del teorema de Her-brand. En 11se examinan los dos problemas básicos con que ha de en-frentarse todo procedimiento de tipo Herbrand. En 111se expone en quéconsiste el procedimiento elemental de resolución. En IV se pasa revistaa los refinamientos más importantes que se han introducido para la re-

I Reimpreso en Hao Wang, Logic. Computers and Sets, 1970.2 Skolem, 1928. Herbrand. 1930.

1111111111111111 J1111111111111111111 J 11 f f Ujj~ IJJJ--- -- ----

r

Prueba automática de teoremas: un panorama 477

solución elemental. En V se expone el método de Prawitz, el 'rival' másimportante de la resolución. En VI se mencionan sumariamente algunasdificultades que afectan al conjunto de los procedimientos.

A lo largo de todo el artículo se omi ten las demostraciones de los teo-remas que se enuncian, remitiendo a lugares en que pueden encontrarse.

I

El lenguaje formal que vamos a utilizar es más simple que el usual enlos manuales de lógica. Como símbolos primitivos incluye:

Símbolos no lógicos:

-Variables individuales: x, y, z, u, v, w, Xt-Símbolos de función de n argumentos, para n ~ o: f, g, h, ft... Las

constantes individuales (a, b, c, al...) son consideradas como símbolos defunción de cero argumentos.

-Símbolos de predicado de n argumentos, para n ~ o: P, Q, R, S, Pt...Los símbolos de predicado de cero argumentos son considerados como va-riables proposicionales.

Símbolos lógicos:

-Una conectiva proposicional: -(negación).

Como expresiones admite:Términos, que quedan definidos de la siguiente ¡panera:

-Una variable es un término.

-Un símbolo de función de n argumentos seguido de n términos esun término.

Literales:

-Un símbolo de predicado de n argumentos seguido de n términos esuna fórmula atómica o literal positivo.

Si L es un literal positivo, entonces -Les un literal negativo.Una cláusula es un conjunto finito de literales. Representamos las cláu-

sulas mediante hileras de literales, sin ningún signo de separación entreellos. Así, P(x) -Q(fx) Q(a) es una cláusula. Para representar conjuntos decláusulas utilizaremos la notación habitual en teoría de conjuntos; así,{P(x) -Q(fx), Q(a)} es un conjunto de dos cláusulas. La cláusula que no con-tiene ningún literal, la cláusula vacía, es simbolizada por D.

Un conjunto de cláusulas no es más que una notación abreviada querepresenta una fórmula en forma conjuntiva skoleniana, es decir, una fór-mula en forma prenexa con la matriz en forma normal conjuntiva y sin

.......- 1¡ '.J11.II Jr ,.

r-

o

478 Jaime Cabrera Calvo-Sotelo

cuantificadores existenciales3. Así, la fórmula Vx ((P(x) V -Q(fx» 1\ Q(a»corresponde al conjunto de cláusulas del párrafo anterior. Por consiguien-te, una cláusula es una dissyunción de literales con las variables cuanti-ficadas universalmente.

Toda fórmula (cerrada) de un cálculo lógico de primer orden puedeser transformada en una fórmula en forma conjuntiva skolemiana me-diante el siguiente procedimiento:

1. transformar la fórmula en una fórmula equivalente en forma pre-nexa con la matriz en forma normal conjuntiva.

2. Eliminar consecutivamente los cuantificadores existenciales susti-tuyendo las variables correspondientes por símbolos de función que to-man como argumentos las variables de los cuantifificadores universalesprecedentes en el prefij04. Cada símbolo de función introducido no debeencontrarse ya en la fórmula (si se está trabajando sobre un conjunto defórmulas, no debe aparecer en ninguna de las fórmulas del conjunto). Deeste modo,

3x Vy 3z Vu Vv 3w A(x, y, z, u, v, w)

suponiendo que 'a', 'f' y 'g' no aparecen en A, resultaría

Vy Vu Vv A(a, y, fy, u, v, g(yuv»

Podemos ejemplificar el proceso para la fórmula:

Vx 3z [P(zz) ~ Vy((P(xz) V P(yz» ~ P(xy»]

Entonces:

(1) Vx 3z Vy [(- P(zz) V -P(xz) V P(xy» 1\(- P(zz) V - P(yz) V P(xy»]

(2) Vx Vy [(- P(fxfx) V - P(xfx) V P(xy) 1\(- P(fxfx) V - P(yfx) V P(xy»]

Si A es una fórmula cualquiera y As es A en forma conjuntiva skole-miana, entonces:

A es insatisfacible si, y sólo si, As lo es5.

3 No es lo mismo, por tanto, que una fórmula en forma normal skolemiana, esto es, unafórmula en forma prenexa con todos los cuantificadores existenciales precediendo a losuniversales.

4 'Funciones de Skolem' o 'funciones de Herbrand', según lo autores.s Pueden encontrarse demostraciones en Loveland, 1978 y Robinson, 1979.

--- -----

Prueba automática de teoremas: un panorama 479

(Está claro, no obstante, que A y As no son, normalmente, equivalen-tes; es decir, no es cierto que una interpretación satisface a A si, y sólo si,sa tisface a As).

Damos, a continuación, una serie de definiciones necesarias para loque se expondrá a continuación: .

El universo Herbrand Hs de un conjunto de cláusulas S es un conjuntode términos que queda definido de la siguiente manera:

-Toda constante individual en S está en Hs. Si S no contiene ningu-na, entonces 'a' está en Hs'

-Si 'f es un símbolo de función n-ádico que aparece en S, entonces

está en Hs, para todo n-tuplo ti ,...,tn de términos de Hs.Una sustitución es un conjunto finito de pares ordenados {ti/XI ,...,tn/xn}

tales que Xison variables y ti términos, para 1 ~ i ~ n, y Xi=1=xj siempreque i =1=j. Si 8 es una sustitución y C una cláusula, la cláusula C8 es unainstancia de C y es el resultado de sustituir las ocurrencias de Xien C porti' para todo Xi' ti en 8. Si todos los ti son variables, C y C8 son variantesuna de otra; dos cláusulas variantes son equivalentes. Si todos los ti sontérminos sin variables y toda variable de C aparece en 8, C8 es una ins-tancia básica de C.

Sea S un conjunto de cláusulas y Hs su universo Herbrand; una inter-pretación I de S es un conjunto de literales que satisface las dos condicio-nes siguientes:

(1) No hay ningún par de literales complementarios en I.(2) Un literal aparece en I si, y sólo si, todas sus instancias básicas so-

bre Hs están en I.

(El sentido de esta formulación es que todo literal en I tiene asignadoel valor de verdad V, y todo literal que no esté en I el valor de verdad F).

Una interpretación I es un modelo de S si, y sólo si, para toda cláusulaC de S, cnI =1=0.

Un conjunto de cláusulas es insatisfacible si ninguna interpretación esun modelo suyo. Un conjunto de cláusulas es veritativo funcionalmente in-satisfacible si todo conjunto de. literales que pueda formarse tomando unliteral de cada una de las cláusulas contiene un par de literales com-plementarios.

Podemos dar ahora una formulación del teorema de H erbrand, que esel fundamento de todos los procedimientos algorítmicos de prueba auto-mática de teoremas hasta la fecha:

Un conjunto S de cláusulas es insatisfacible si, y sólo si, un subcon-junto finito del conjunto de las instancias básicas de las cláusulas de S

.. . --- -

480 Jaime Cabrera Calvo-Sotelo

sobre el universo Herbrand de S es (veritativo-funcionalmente) in-satisfacible6.

Puesto que Hs, para cualquier S, es siempre numerable, el teorema ga-rantiza que para cualquier conjunto de cláusulas insatisfacible puedeconstruirse en un número finito de pasos un conjunto de cláusulas bási-cas que puede determinarse como insatisfacible mediante alguno de losmétodos de decisión disponibles; el teorema de Herbrand explicita, pues,un método de semi-decisión para la lógica de primer orden.

Supongamos que se quiere determinar si una fórmula T es consecuen-cia lógica de un conjunto de fórmulas AI,...,An; el procedimiento consis-tiría en demostrar que {A¡,...,An, - T} es insatisfacible. El siguiente con-junto de reglas constituye una aplicación directa del teorema de Her-brand * :

(1) Transformar el conjunto de fórmulas de entrada en un conjuntode cláusulas.

Supongamos, por ejemplo, que como resultado de este paso obtene-mos: {Q(xfx) P(x), P(a) -Q(afa) P(x), -P(x) Q(xy) Q(afa), -P(z) -Q(xfa)}.

(2) Dividir el universo Herbrand del conjunto de cláusulas en subcon-juntos finitos disjuntos Ho, HI, H2,... Un procedimiento usual consiste enformar H¡, para i ~ O, con los términos de profundidad igual a ¡7.

En nuestro ejemplo, puesto que el universo Herbrand es:

H = {a, fa, f(fa),...}

tendríamos:

Ho = {a}; HI = {fa}; H2 = {f(fa)};

H3 = {f(f(fa»}; etc.

(3) Instanciar el conjunto de cláusulas, de todas las maneras posibles,sucesivamente sobre Ho, Ho U H¡, Ho U HI U H2, etc., verificando en cadapaso si el conjunto de cláusulas básicas obtenido es insatisfacible, en cuyocaso se detiene el proceso, o no lo es.

6 Esta es la versión usual del teorema de Herbrand, que se parece poco a la original, aun-que sólo sea porque el enfoque de Herbrand era sintáctico. La exposición de Skolem es mu-cho más parecida, aunque el único autor que habla 'de 'teorema de Skolem"parece ser Pra-witz. La primera demostración del teorema de Herbrand en la versión actual está en Quine,1955. Pueden encontrarse demostraciones en muchos de los trabajos citados en la biblio-grafía, por lo que no remitimos a ninguno en particular. La demostración original de Her-brand, como es sabido, aparte de contener algunos errores, es difícilmente transitable.

7 Definimos la profundidad de un término de la siguiente manera:-Una variable o una constante individual tienen una profundidad igual a cero.-Un término f(t tn) tiene una profundidad una unidad mayor que la máxima profun-

didad entre tl tn.

* En Gilmore. 1960. se encuentra un procedimiento de este tipo.

'... . . ~ .. . , . a 1. . . . . . . . . . . . , I . . J . I . . t . 1.1. I I . , , I l.I I . t... .....11........ _.IIJI---- -----

Prueba automática de teoremas: un panorama 481

En nuestro ejemplo sería suficiente con instanciar sobre Ho U Hl pue;-to que la siguiente matriz de cláusulas no puede atravesarse verticalmen-te, tomando un literal de cada cláusula, sin pasar por un par de literalescomplementarios; esto es, no es posible encontrar ningún modelo: .

P(a)Q(afa)

--,IIIIIIII1

{a/x, a/y, a/z}

P(fa)Q(afa)

--,IIIIII

__J

{fa/x, a/y, a/z}

Q(afa)--.,

II---' {a/x, fa/y, a/z}

II

El procedimiento descrito (y en general, todo procedimiento de 'tipoHerbrand') presenta dos partes y dos problemas correspondientes:

(1) En primer lugar, el problema de la sustitución de variables por tér-minos del universo Herbrand. Sería deseable disponer de un método quegarantizara siempre la obtención de un conjunto de cláusulas básicas mí-nimamente insatisfacible, esto es, tal que todo subconjunto propio suyosea satisfacible; esto no ocurre con el método expuesto anteriormente8.El problema fue solucionado por Prawitz ya en 1960; ideas semejantes fue-ron utilizadas por J. A. Robinson en 1965. Posponemos la exposición paraun poco más adelante.

(2) En segundo lugar, el problema de diseñar un algoritmo eficientepara detectar si un conjunto (normalmente grande) de cláusulas es veri-tativo-funcionalmente insatisfacible o no. A pesar de que nos hallamos enun terreno decidible, es aquí donde hay mayores diferencias. En princi-pio está disponible el método de las tablas de verdad, pero nótese que, amedida queje número de literales ~istintos crece (que es lo que ocurre amedida que se toman en consideración subconjuntos del universo Her-brand mayores), el número de combinaciones (filas) que hay que exami-nar crece exponencialmente. El método 'multiplicativo' (paso a formanormal disyuntiva)9 es algo mejor, pero básicamente padece el mismoinconvenien te.

8 Como puede comprobarse fácilmente en el ejemplo anterior.9 El método empleado en el ejemplo anterior.

.. J88...11-a.I..,a -.

Q(afa) P(a)P(a) -Q(afa)- P(a) Q(aa)- P(a) -Q(afa)

Q(faf(fa» P(fa)P(a) -Q(afa)- P(fa) Q(faa)- P(a) -Q(fafa)

- P(a) Q(afa)

--- --- -.-.

T

482 Jaime Cabrera Calvo-Sotelo

En 1960, Davis y Putnam propusieron un método más potente que losanteriores y que se ha venido utilizando, al menos fragmentariamente,desde entonces. A continuación ofrecemos una versión del método queconsiste en un conjunto de cinco reglas que reducen conjuntos de cláusu-las básicas a conjuntos más simples que son insatisfacibles si, y sólo si,el conjunto primitivo lo era. La aplicación iterada de las reglas sólo pue-de conducir a dos resultados: bien al conjunto vacío de cláusulas, en cuyocaso el conjunto primitivo era satisfacible, bien a un conjunto explícita-mente contradictorio, señal de que el conjunto primitivo era insatisfaci-ble. Las reglas son las siguientes:

(a) Regla de tautología: eliminar del conjunto todas las cláusulas tau-tológicas (es decir, las que contienen un par de literales complementarios).

(b) Regla de cláusula unitaria: si el conjunto contiene una cláusulacon un único literal L, eliminar todas las cláusulas que contengan L, in-cluidas las que sean unitarias, y todas las ocurrencias de - L en las res-tantes cláusulas.

(c) Regla de afirmación-negación: si en el conjunto aparece el literalL, pero no su complementario, - L, eliminar todas las cláusulas que con-tengan L.

(d) Regla de escisión: si el conjunto contiene ocurrencias de dos lite-rales complementarios L y - L, reemplazarlo por los dos conjuntos si-guientes: el conjunto obtenido al eliminar las cláusulas que contienen Ly las ocurrencias de - L; el conjunto obtenido al eliminar todas las cláu-sulas que contienen - L Y todas las ocurrencias de L.

(e) Regla de subsunción: eliminar toda cláusula que contenga a otracláusula del conjunto.

Podemos ejemplificar el uso del método de Davis y Putnam con el si-guiente conjunto de cláusulas:

{-PO, R, -S-O, S-p¡ P, P-RO, SP¡-R, -P¡-P}

{- PO, - S -O, S- P ¡ P, PO, SP t, - P ¡- P} (b)

{O, -S-O, SP¡, -P¡} {-S-O, S-p¡, O, SPt} (d)

{-S, SP¡, - P¡} (b) {-S, S- p¡, SP¡} (b)

{P¡, - P ¡} (b) {- P ¡, P ¡} (b)

(las letras entre paréntesis indican la regla que se ha aplicado). Por tanto,el conjunto de entrada era insatisfacible.

Volvamos al primer problema. La técnica empleada consiste en esqui-var el riesgo de una elección más o menos arbitraria de términos del uni-

... .. . . .. , . . . . , . .. . , . . , . ., . I . f 1>¡ . . . t I I , 1 t.t 1j I I I , 1t ., IJ -s,s...:t-.. JJlJ

Prueba automática de teoremas: un panorama 483

verso Herbrand utilizando en las sustituciones términos más generales;lo que se busca es el conjunto de instancias más generales que sea veri-tativo-funcionalmente insatisfacible.

En lo que sigue utilizamos la palabra 'expresión' bien para designarliterales, bien para designar términos. Decimos que dos expresiones El yE2 son unificables si hay una sustitución e tal que

En caso de que tal cosa ocurra, e es un unificador de El y E2. Así, porejemplo, e = {a/x, f(a)/y} es un unificador de P(f(x» y P(y).

Todo par de expresiones tiene asociado un conjunto (que puede ser va-cío) constituido por sus unificadores.

Teorema de la unificación:lO

(a) Si El YE2 son unificables entonces hay un unificador máximamen-te general (u.m.g.) a de El y E2 tal que, para todo unificador e de El y E2

(b) Para todo par de expresiones, la cuestión de determinar un u.m.g.suyo (y, por tanto, la cuestión de si son unificables) es decidible.

Por (a) sabemos que, si dos expresiones poseen instancias en común,entonces una de ellas es tal que todas las demás son instancias suyas. Por(b) sabemos que es posible diseñar un algoritmo que determine un u.m.g.para cualquier par de expresiones unificables. El siguiente puede ser uno;El y E2 son las expresiones de entrada:

(1) Sea a = 0 (el conjunto vacío).(2) Si El = ,,,,,~Y E2 = 11111,entonces las expresiones de entrada son uni-

ficables con u.m.g. = a; en otro caso pasar a (3).(3) Si el primer símbolo por la izquierda de El y el primer símbolo

por la izquierda de E2 son iguales eliminados y pasar a (2); en otro casopasar a (4).

(4) Si el primer símbolo por la izquierda de El (E2) es una variablecualquiera 'x' y la primera subexpresión bien formada en E2 (El) un tér-mino 't' que no contiene a 'x' sustituir todas las ocurrencias de 'x' en Ely E2 por 't', hacer a = a U {t/x} y pasar a (3); en otro caso, pasar a (5).

(5) Las expresiones de entrada no son unificables.

10 Robinson. 1965. Una bonita demostración puede encontrarse en Robinson. 1979." La expresión vacía.

~-.'. . . 1.1. . I , . . .J.-- - ----- ---

484 Jaime Cabrera Calvo-Sotelo

Un ejemplo:

El = - P(x g(f(ay» x)Ez = - P(f(yz) g(x) f(aa»

Los números entre paréntesis a la derecha corresponden al paso delalgoritmo aplicado:

a = 0 (1)

El = x g(f(ay» x) 3Ez = f(yz) g(x) f(aa» ()

El = f(yz) g(f(ay» f(yz»Ez = f(yz) g(f(yz» f(aa» (4)a = {f(yz)/x}

El = ay» f(yz» (3)Ez = yz» f(aa»

El = aa» f(az»Ez = az» f(aa» (4)a = {f(yz)/x, a/y}

El = a» f(az» (3)Ez = z» f(aa»

El = a» f(aa»Ez = a» f(aa» (4)a = {f(yz)/x, a/y, a/z}

El = ""Ez ="" (3)

Por tanto, el u.m.g. es {f(yz)/x, a/y, a/z}.

Las consideraciones anteriores sobre la unificación son, evidentemen-te, extensibles a conjuntos de más de dos expresiones.

Decimos que dos literales LJ y Lz son 'emparejables' si LJ y -Lz sonunificables.

La técnica más usual en los procedimientos automáticos consiste enbuscar dos literales emparejables en cláusulas distintas y utilizar suu.m.g. como sustitución, generando de esta forma cláusulas parcialmentecontradictorias (debe tenerse presente que este procedimiento va siempreacompañado o incluido dentro de un algoritmo para detectar conjuntosde cláusulas veritativo-funcionalmente insatisfacibles, tal como el de Da-vis y Putnam).

III

El método de resolución, introducido por J. A. Robinson en 1965, haconstituido la base de la gran mayoría de los desarrollos en el tema al me-nos hasta mediados de la década de los 70. Como el método de Gilmore,expuesto más arriba, es un procedimiento refutatorio completo, es decir,detecta siempre en un número finito de pasos si un conjunto de cláusulases insatisfacible. A diferencia de aquél:

-Consiste únicamente en un par de reglas de inferencia que integranen un único proceso el proceso de sustitución (utilizando unificadores má-ximamente generales) y el de análisis veritativo-funcional.

- - - - ..- - - - - -- - . ....... ... ....--- 8IJJI-- ---

-- -- - -.------....

Prueba automática de teoremas: un panorama 485

-Es muy flexible, admitiendo una gran variedad de estrategias. De he-cho, cabe conjeturar que una de las razones del éxito de.la resolución esla gran variedad de formas en que puede aumentarse su eficiencia sin al-terar el procedimiento básico.

Las dos reglas que constituyen el método de resolución son:

(1) Resolución: las premisas son dos cláusulas que no contienen nin-guna variable en común (esto siempre puede lograrse utilizando una va-riante de una de las cláusulas si la condición no se satisface). Sean C y Dtales cláusulas. Si C contiene un literal L1 y D un literal L2 tales que sonemparejables, con u.m.g. a, entonces la cláusula:

es un resolvente de C y D. Es sencillo comprobar que todo modelo de {C,D}es también un modelo de R.

Sea C la cláusula P(x) Q(y) y D la cláusula R(x) - P(f(a». Sustituyendo'x' por 'z' en D obtenemos una variante que no comparte ninguna varia-ble con C. Un resolvente de C y D sería la cláusula Q(y) R(z).

El número de resolventes de cualquier par de cláusulas es siempre fi-nito11 (puede ser, evidentemente, igual a cero). Por tanto, todo conjuntofinito de cláusulas puede ser resuelto de una forma exhaustiva.

Si C y D son dos cláusulas unitarias emparejables su único resolventees la cláusula vacía o. Puesto que {C,D} es insatisfacible, todo conjuntoque contenga O es insatisfacible.

(2) Factorización: sea C una cláusula que contiene dos literales unifi-cables con u.m.g. a; la cláusula Ca es un factor de C. Así, por ejemplo, siC es la cláusula P(x) P(a) Q(f(xy», puesto que los dos literales de la iz-quierda son unificables con u.m.g. a = {a/x}, la cláusula P(a) Q(f(ay» se-ría un factor de C.

Está claro que todo modelo de una cláusula es, asimismo, un modelode cualquier factor suyo. Por otra parte, como en el caso de la resolución,una cláusula sólo puede tener un número finito de factores12.

Sea S un conjunto arbitrario de cláusulas. Designamos mediante R(S)el conjunto constituido por las cláusulas de S y todos los resolventes quepueden obtenerse utilizando cláusulas de S o factores suyos como premi-sas. Por R2(S) entendemos R(R(S», etc. (RO(S) es simplemente S).

Teorema de completud de la resolución:13

S es un conjunto insatisfacible de cláusulas si y sólo si, para algúnn ~ O,R~(S) contiene la cláusula vacía.

TI Naturalmente, no se consideran resolventes distintos los que sean variantes uno deotro.

12 La separación entre resolución y factorización es útil, pero en algunos trabajos apa-recen fundidas en una única regla de resolución.

13 Robinson, 1965.

.. ... ..'..II...~--- - -- - -- - ---

.

486 Jaime Cabrera Calvo-Sotelo

El teorema enunciado no es más que una versión elaborada del teore-ma de Herbrand; el siguiente lema lo muestra con mayor claridad:

Lema de elevación:13

Sea H un subconjunto del universo Herbrand de un conjunto arbitrariode cláusulas S. Denotamos por H(S) el conjunto de cláusulas básicas queresulta de instanciar S sobre H de todas las maneras posibles. Entonces,para cualquier n se verifica que:

Rn(H(S» ~ H(Rn(S»

El lema enuñcia que todo lo que puede conseguirse instanciando so-bre el universo Herbrand y resolviendo después (un procedimiento deltipo del de Gilmore) se consigue igualmente resolviendo primero e ins-tanciando después. Esto es, toda derivación por resolución tiene una con-trapartida constituida exclusivamente por cláusulas básicas. Puesto quela mayoría de las propiedades de la resolución son más fácilmente de-mostrables para conjuntos de cláusulas básicas, el lema de elevación cons-tituye una útil herramienta para generalizar tales propiedades (de ahí leviene el nombre). Por ejemplo, si la cláusula vacía es derivable por reso-lución a partir de algún conjunto de instancias de S sobre el universo Her-brand (que es el caso siempre que S es insatisfacible), entonces, puestoque la cláusula vacía no es instancia más que de sí misma y su única ins-tancia es ella misma, la cláusula vacía es derivable a partir de S por re-solución. Así es como el procedimiento de resolución permite esquivar elriesgo de la elección de subconjuntos del universo Herbrand.

IV

El árbol" de la figura representa el espacio de búsqueda para un con-junto arbitrario S de cláusulas. El vértice raíz se supone ocupado por lascláusulas en S; el resto de los vértices estaría ocupado por una sola cláu-sula. Cada uno de los vértices posee un conjunto finito de vértices suce-sores constituido por todos los resolventes que pueden obtenerse a partirde las cláusulas que ocupan los vértices de la rama en cuestión (la facto-rización se supone implícita). Todo vértice que contenga la cláusula va- "

cía no posee ningún vértice sucesor. Se supone, además, que ningunarama contiene cláusulas repetidas.

I I I I I lit lit t I I I I I I I I I I I 1II1 1 II"~~"" 1- --- -

Prueba automática de teoremas: un panorama 487

El conjunto constituido por S y sus sucesores es R(S); si a este conjun-to le añadimos los sucesores de los sucesores de S, obtenemos R2(S), etc.Si, y sólo si, S es insatisfacible entonces hay ramas del árbol que acabanen la cláusula vacía; evidentemente, en este caso, estaremos más intere-sados en aquellas ramas que tengan una longitud menor, pero como esbien sabido no existe un procedimiento mecánico general para detectaruna de estas ramas.

Un refinamiento es un conjunto de restricciones que reducen el espa-cio de búsqueda de un procedimientol4. La mayor parte de las investiga-ciones sobre la resolución han consistido en la introducción de un grannúmero de refínamientos sobre ella; se ha hecho especial hincapié en re-finamientos completos, es decir, aquellos que garantizan la generación dela cláusula vacía siempre que el conjunto de cláusulas de entrada sea in-satisfacible. La exposición que sigue es muy esquemática; para mayoresdetalles debe recurrirse a los trabajos citados en la bibliografía.

-El primer refinamiento de la resolución fue la denominada resolu-ción unitarials. La restricción que impone es que al menos una premisade todo resol vente tiene que ser una cláusula unitaria, esto es, una cláu-sula con un único literal. Como puede comprobarse fácilmente es un re-finamiento incompleto, es decir, no todo conjunto insatisfacible de cláu-sulas es refutable mediante él; no obstante, es completo, y muy recomen-dable, para conjuntos de cláusulas ninguna de las cuales contiene más deun literal positivo.

-Otro refinamiento que apareció en seguida fue la resolución con con-junto soportel6. Sea S un conjunto de cláusulas y T un subconjunto de S.T es un conjunto soporte de S si el conjunto S- T es satisfacible. Todo re-solvente de un par de cláusulas pertenecientes a S- T es una cláusula re-dundante y debe impedirse su generación.

La estrategia de conjunto soporte es muy útil para probar teoremasen teorías axiomatizadas, en las que el conjunto formado por los axiomasse supone satisfacible.

-La familia de refinamientos conocida como resolución semántical7

utiliza una idea semejante. El fundamento está en que, si S es un conjun-to insatisfacible de cláusulas, toda interpretación lo divide en dos con-juntos no vacíos: uno constituido por las cláusulas verdaderas en la in-terpretación y el otro por la cláusulas falsas. La resolución semántica es-tablece que al menos una premisa de todo resolvente deb~ ser falsa en l~interpretación elegida. Además, todo resolvente verdadero en la interpre-tación debe ser utilizado como premisa en un paso de resolución en cuan-to sea posible.

14 Esta definición es la más común, aunque no hay un consenso absoluto en estos temas.15 Wos, Carson y Robinson, 1964.16 Wus, Robinson y Carson, 1965.

17 Slagle, 1967.

- --- - ---

1

I

488 Jaime Cabrera Calvo-Solelo

Las interpretaciones más sencillas, y más usadas, son la que contienetodos los literales negativos (hiperresolución negativa) y la que contiene to-dos los literales positivos (hiperresolución positiva)18. La figura siguientemuestra una refutación por hiperresolución negativa del conjunto de cláu-sulas S = {PQR, PQ-R, P-QR, P-Q-R, -PQR, -PQ-R, -P-QR,-P-Q-R}. (Se supone que las cláusulas están numeradas de izquierda aderecha). Los números a la derecha de cada cláusula indican las premi-sas de que procede. Obsérvese que una de ellas es siempre una cláusulaque contiene únicamente literales positivos (falsa en la interpretación):

(9) PQ (1,2)(10) PR (1,3)(11) QR (1,5)(12) P-R (4,9)(13) P (10,12)(14) Q-R (6,9)

(15) Q (11,14)(16) -QR (7,10)(17) R (15,16)(18) -Q-R (8,13)(19) -R (15,18)(20) O (17,19)

-La familia de los refinamientos lineales surgió uno años después delas anteriores 19. En una resolución lineal se elige una cláusula del con-junto de entrada como 'cláusula superior' que sirve de premisa, junto aotra cláusula del conjunto para el primer paso de resolución; a partir deahí, todo resolvente es utilizado como premisa para el siguiente paso dela deducción (cláusula 'central'), siendo la otra premisa una cláusula yaobtenida, incluyendo las del conjunto de entrada (cláusula 'lateral'). Unarestricción de la resolución lineal consiste en admitir como cláusulas la-

terales únicamente las cláusulas del conjunto de entrada; este refinamien-to es incompleto (es decir, hay conjuntos insatisfacibles que no son refu-tables mediante elfo.

El procedimiento lineal denominado eliminación de modelos21 no espropiamente un refinamiento de la resolución, sino un procedimiento hí-brido de ésta y el procedimiento de Prawitz. El procedimiento no operasobre cláusulas, sino sobre una cadena de literales ordenados; estos pue-den ser de dos tipos: literales A y literales B. Una cadena es 'aceptable'si no hay un literal A idéntico o complementario de un literal A o B a suizquierda, o un literal B idéntico a un literal A a su izquierda, o un literalB complementario de un literal B a su izquierda. Sobre la cadena debenrealizarse las siguientes operaciones, en el orden indicado, teniendo- encuenta que la cadena resultante en cada una debe ser aceptable:

18 Robinson, 1965b.19 Loveland, 1969b. Luckham, 1970. Kowalski y Kuehner, 1971.20 En Chang, 1970, hay una demostración de que esta restricción de la resolución lineal

y la resolución unitaria son equivalentes, es decir, todo conjunto de cláusulas iefutable me-diante la primera es también refutable mediante la segunda, y viceversa.

21 Loveland, 1968, 1969, 1969b, 1972:

~_..,. , . ... t I I . I , , . I J JJ. . 1'¡ I I I I I J I I tI I I I J'J '1 I ,. J11 111..........--- - -- ---

--- --- -- .---..---.---.----.- --- +.- - --+ - - -. --- -.. - - - -..

Prueba automática de teoremas: un panorama 489

-Contracción: eliminar todos los literales A a la derecha de la cadena.-Fusión: si el literal B que se encuentra a la derecha de la cadena es

idéntico a otro literal B de la cadena eliminarlo (esta operación puedereemplazarse por la de factorización: si el literal B a la derecha de la ca-dena es unificable con un literal B de la cadena con u.m.g. o, eliminarloy aplicar o al resto de la cadena).

-Reducción: si el literal B a la derecha de la cadena es emparejable,con u.m.g. o, con un literal A de la cadena, eliminarlo y aplicar o al restode la cadena.

-Extensión: si el literal B (L¡) a la derecha de la cadena K, es empa-rejable con un literal L2 de alguna cláusula C del conjunto de entrada,con u.m.g. o, formar la siguiente cadena:

en la que el literal L¡o pasa a ser un literal A, mientras que los literalesde Co, incorporados a la derecha, son literales B.

Sea S un conjunto de cláusulas. Con una cualquiera de ellas, y ponien-do los literales que la componen en cualquier orden, se forma una cadenade literales B. Si, Y sólo si, la aplicación reiterada sobre esta cadena delas reglas enumeradas más arriba conduce a la cadena vacía, entonces Ses insatisfacible.

La siguiente figura muestra una refutación por el método de elimina-ción de modelos del conjunto de cláusulas considerado en la hipe-rresol ución:

(1) PQ R(2) PQ[R] (E2)(3) PQ (C)(4) P[Q]R (E3)(5) P[Q][R]-Q (E4)

(6) P[Q][R] (R)(7) P (C)(8) [P]QR (ES)(9) [P]Q[R] - P (E6)

(10) [P]Q[R] (R)

(11) [P]Q (C)(12) [P][Q]- PR (E7)(13) [P][Q]-P[R]-Q (E8)(14) [P][Q]- P[R] (R)(15) [P][Q]- P (C)(16) [P][Q](R)(17) O (C)

Los literales entre corchetes son los literales A. Las letras entre parén-tesis a la derecha indican la regla que se ha aplicado (así, E2 quiere decirque se ha aplicado la regla de extensión can la cláusula 2 del conjunto,según la numeración de izquierda a derecha); las aplicaciones de la reglade fusión están implícitas.

Vamos a dar una explicación intuitiva del método utilizando el ejem-plo: suponemos que S es satisfacible y tomamos una cláusula cualquiera,en este caso PQR, considerándola como una cadena de literales B (1). SiS es satisfacible entonces hay un modelo que contiene Po Q o R (el 'o' noes excluyente). Suponemos que es R (el literal B es transformado en unliteral A), posponiendo tod;l consideración en torno a P y Q, 'y buscamos

.,

490 Jaime Cabrera Calvo-Sotelo

una cláusula que contenga un literal emparejable con R (extensión.(2»;descubrimos que un modelo que contenga a R ha de contener también aP o a O, pero habíamos decidido posponer toda consideración en torno aellas (fusión implícita en (2». La cuestión de un modelo que contenga Res, pues, reducible a la cuestión de un modelo que contenga P o O (con-tracción (3». Suponemos un modelo que contenga O (el literal B es trans-formado en un literal A), posponiendo toda consideración en torno a P, ybuscamos una cláusula que contenga un literal emparejable con O (ex-tensión (4». Descubrimos que el modelo ha de contener P (fusión implí-cita en (4» o R; por tanto ha de contener R (R es transformado en un li-teral A). Al encontrar una cláusula con un literal emparejable con R (ex-tensión (5» descubrimos que el modelo tiene que contener -O, pero estoes una inconsistencia (reducción (6» y podemos desechado (contracción(7». Suponemos, por fin, un modelo que contenga P...

El método va rechazando, pues, los posibles modelos siguiendo una es-trategia que reduce las posibilidades al elegir siempre cláusulas que sonparcialmente refutadas por el modelo supuesto en el momento.

v

Durante los últimos años el centro de atención parece haber pasadode la resolución al método de Prawitz, normalmente con la idea de alcan-zar un punto de vista más básico que permita unificar los logrosconseguidos.

Los fundamentos del método se encuentran en el artículo de Prawitz

de 1960 y una versión mejorada en el artículo de 1969. Nuestra exposi-ción se basa en esta última.

Frente al método de Gilmore, que generaba sucesivamente instanciasbásicas del conjunto de cláusulas en cuestión, el método de Prawitz hallamediante cálculos una sustitución básica que da lugar a un conjunto in-satisfacible de cláusulas básicas. En la base del procedimiento se encuen-tra una nueva versión del teorema de Herbrand que podemos enunciarde la siguiente manera:

Un conjunto S de cláusulas es insatisfacible si y sólo si hay un con-junto S' de variantes de las cláusulas de S y una sustitución e de las va-riables de S' por términos del universo Herbrand de S, tales que s'e esinsatisfacible.

El método de Prawitz puede ser considerado como la construcción deun árbol en el que cada vértice está ocupado por un conjunto de cláusu-las dispuesto en forma de matriz (cada fila de la matriz es una cláusula).En el vértice raíz se introduce la ma.triz constituida por el conjunto decláusulas de entrada (se aumenta la eficacia del método si ninguna de es-tas cláusulas comparte una misma variable con otra). Se introduce, ade-

1J 11lIt lIt 1 lIt 111 1l. 11 111 t 11 1t 11 111 11 1J J .. LI~

Prueba automática de teoremas: un panorama 491

más, la sustitución a, al principio como la sustitución vacía. A continua-ción se aplican reiteradamente las siguientes reglas a las matrices de losvértices terminales no cerrados (véase inmediatamente) del árbol:

-Si la matriz contiene en su columna izquierda dos literales que es-tán solos en sus respectivas líneas y son emparejables, con u.m.g. 8, y, ade-más, 8 es compatible con a, entonces se hace a = a U 8 y se cierra el vér-tice (dos sustituciones 8 = {ti/XI,...,tn/xn}y 8' = {tí/xL...,~/x~J son compa-.

bl.

1 . E " E "tl es SI as expresIones 1 = XI,...,Xn,xl,.",xm Y 2 = ti ,...,tn, tI ,...,~ sonunificables).

-Reducciónsimple: las condiciones son idénticas a las de la regla an-terior, salvo que uno de los dos literales no está sólo en su línea. En estecaso se forma, igualmente, a = a U 8, pero, en lugar de cerrar el vértice,se le añade un sucesor con la matriz que resulta al eliminar el literal queno estaba solo en su fila.

-Reducciónpor escisión: las condiciones son idénticas a las anterio-res, salvo que ninguno de los dos literales emparejables, LI y L2, están so-los en su línea. En este caso, se forma también a = a U 8, pero se añadendos vértices sucesores: uno con la matriz que resulta al eliminar LI y to-dos los literales de la línea de L2, salvo éste, y el otro con la matriz queresulta al eliminar L2 y todos los literales de la línea de LI, salvo éste.

Si llega un momento en que a una matriz terminal no se le puede apli-car ninguna de las reglas anteriores, entonces hay que retroceder en el ár-bol (borrando vértices y las sustituciones correspondientes en a) hasta en-contrar una matriz que contenga un par de literales emparejables en sucolumna izquierda que no hayan sido utilizados, y continuar el procesoa partir de ella. Si tampoco es esto factible (es decir, si se han exploradotodas las posibilidades de la matriz del vértice raíz), entonces hay que au-mentar la matriz inicial con una variante de cada cláusula del conjuntode entrada y recomenzar el proceso (las nuevas variantes no deben tenerninguna variable en común con las ya presentes).

El método de Prawitz, tal como ha sido descrito, es completo en el si-guiente sentido: un conjunto s de cláusulas es insatisfacible si, y sólo si,mediante el procedimiento descrito se llega a un árbol con todos los vér-tices cerrados.

Ejemplificaremos el método con el mismo conjunto de cláusulas queutilizamos para el método de Gilmore. Las aristas están marcadas conlas sustituciones que hay que añadir a a; los dos vértices .cerrados estánmarcados con una doble raya:

'_'11

492 Jaime Cabrera Calvo-Sotelo

Q(x fx) P(x)P(a)-Q(a fa) P(y)- pez) Q(z u) Q(a fa)- P(v)-Q(w fa)

;7 ,Q(x fx) P(x)

-Q(a fa) P(y)- pez)-P(v) -Q(w fa)

zlv I

IQ(x fx) P(x)

-Q(a fa) P(y)- pez)-Q(w fa)

IIII

jxlw,a/xP(x)

-Q(a fa) P(y)- pez)-Q(w fa)

I xlzI

Q(x fx) P(x)pea)Q(z u) Q(a fa)

-P(v) -Q(w fa)I a/vI

Q(x fx) P(x)pea)Q(z u) Q(a fa)

-Q(w fa)IIIII

/w/z, fa/uQ(x fx) P(x)pea)Q(a fa)

-Q(w fa)I

I a/w- -

VI

La aparición del método de resolución a mediados de la década de lossesenta proporcionó una base sencilla sobre la que podían introducirsemejoras. Durante los años siguientes, proliferaron los artículos en los quese proponían refinamientos, algunos de los cuales hemos examinado eneste artículo; también se intentó extender el método a áreas mayores dela lógica (lógica de primer orden con identidad y lógicas de orden supe-rior) y se utilizó en otros campos dentro de la Inteligencia Artificial. Laproliferación de los refinamientos de la resolución y de otros procedimien-tos distintos de ésta ha generado un problema difícil; el de idear criteriosde comparación. El punto básico es cómo medir la eficiencia relativa delos distintos procedimientos. La utilización de un método, por decido así,

r~ J t U J1 1111 1 1 HUI 1 I ¡ 11 I t t I I I 1 , J 1 11 11 11 1 1 1II1 I 1 1111 U J..UIaIllll8 ------- -- -- --

Prueba automática de teoremas: un panorama 493

experimental (por ejemplo, el tiempo invertido en probar una 'muestra'de teoremas en una máquina determinada) depende de un número tal devariables mal determinadas, que difícilmente puede ofrecer un resultadofiable. Por otra parte, se han hecho intentos de definir formalmente la 'efi-ciencia de un procedimiento automático'22, pero no parece que se hayalogrado un acuerdo en este terreno.

Otra forma de atacar el problema consiste en buscar isomorfismos en-tre los distintos procedimientos, o en intentar interpretar unos procedi-mientos dentro de otros. En esta línea han trabajado, por ejemplo, Love-land23 y, más recientemente, Bibel24, que sostiene que el método de re-ducción de matrices de Prawitz puede constituir la base de un punto devista unificador en la materia.

Un problema más grave que el anterior es que la esperanza de HaoWang de que las máquinas podrían suplir, en algunos terrenos, mediantegrandes procesos rutinarios cosas tales como la intuición, no se ha vistocumplida. La prueba de esto es que, como algunos autores confiesan concierta tristeza, los procedimientos disponibles resultan inviables para teo-remas de estructura complicada. Todo esto conduce a la cuestión de lacreación de procedimientos heurísticos que puedan superponerse a los sis-temas disponibles, cuestión que, aunque pospuesta en el programa algo-rítmico, no ha sido totalmente dejada de lado. El término 'heurística' tie-ne aquí un significado más débil que en Newell, y, aunque en este tematampoco hay consenso, debemos intentar precisado un poco. Recordemosque el espacio de búsqueda de un procedimiento automático puede ser re-presentado por un árbol. Un refinamiento es simplemente una reduccióndel espacio de búsqueda. Una cuestión diferente es la de la elección de uncamino en cada bifurcación del espacio de búsqueda. Imaginemos quequeremos probar un teorema utilizando el método de resolución. Una so-lución óptima, sería una rama del espacio de búsqueda de longitud mí-nima, pero no hay ningún procedimiento mecánico general que permitadetectar una de tales ramas; por lo tanto, hay que apoyarse en estima-ciones. En nuestro caso, cada bifurcación del árbol ofrece un conjunto deposibilidades constituidas por pares de cláusulas a resolver. Una heurís-tica sería un criterio para la valoración de los distintos pares de acuerdocon rasgos establecidos como relevantes para la consecución, si no de unasolución óptima, al menos de una solución 'buena'25. Se han propuestobastantes rasgos relevantes, pero el más utilizado, por razones evidentes,es el relativo al número de literales: la regla aconseja escoger siempre

22 Kowalski y Kuehner, 1971.23 Loveland, 1972.24 Bibel 1981, 1982.

25 El problema es, pues, el más general de encontrar una rama óptim:;l en un árbol. EnKowalski, 1970 puede encontrarse un intento de extensión de los resultados obtenidos eneste terreno a la prueba automática de teoremas

- - -- ---

1,

494 Jaime Cabrera Calvo-Sotelo

uno de los pares de cláusulas que en conjunto sume un número menor deliterales (puesto que lo que se pretende es derivar la cláusula vacía, la re-gla es obviamente recomendable). La figura siguiente muestra, a la iz-quierda, una solución óptima, y, a la derecha, una solución aplicando laregla del menor número de literales, para el conjunto de cláusulas5 = {-P-QR, PR, QR, -R}, en el que suponemos las cláusulas numera-das de izquierda a derecha; los números de las aristas del árbol de la fi-gura corresponden a las premisas del resolvente:

(5)

y~-PR (5) P (7)

I 2,5 13,4R (6) Q (8)

14,6 11,4O -P-Q (9)

17,9-Q (lO)

18,10O

Un problema que se presenta a la hora de introducir heurísticas esque la notación clausular hace que se pierda, normalmente, informaciónsobre la estructura de conjunto del teorema que se pretende demostrar.Recientemente, Andrews26 ha propuesto un método en el que se utilizanmás símbolos lógicos y en el que ni siquiera es necesaria la utilización dela forma prenexa. Nótese que esto no implica necesariamente el abando-no del procedimiento por emparejamiento, y mucho menos el método deHerbrand.

En cualquier caso, no parece posible que pueda llegarse muy lejos me-diante heurísticas generales como la que se ha mencionado. más arriba.Ello equivaldría a la posibilidad de disponer de máquinas que pudieranrealizar inferencias eficientemente en cualquier área del conocimiento apartir únicamente de un conjunto adecuado de axiomas o de hechos es-tablecidos relativos a dicha área que les sería suministrado desde fuera.

26 Andrews, 1981.

t!Du~.1 U 1I1111111 ¡ 111 J 11 11111. 11 I I1 r 1I 1 I I 11111 J I 11111111 J.J L¡'.U~- - -

r

Prueba automática de teoremas: un panorama 495

Es más razonable pensar que las heurísticas más potentes forman partetambién del acervo de conocimiento específico del especialista en un áreade conocimiento determinada y, por tanto, también deben ser suminis-tradas desde fuera en cada caso. En este terreno también se ha trabaja-do27 pero cae fuera del alcance de este artículo: Ello, no obstante, permi-te atisbar la enorme complejidad real del tema. Lo que se ha expuestoaquí, o algo parecido, constituirá, en todo caso, sólo una parte de lo querequieran los computadores en el futuro para «razonar» satisfactoriamen-te (si esto último alguna vez es posible).

Bibliografía

ANDREWS,P. B. (1981): «Theorem Proving via General Matings», J. ACM. 28, pp. 193-214.BLEDSOE,W. W. (1971): «Splitting and Reduction Heuristics in Automatic Theorem Pro-

ving», Al. 2, pp. 55-77.BIBEL,W. (1981): «On Matrices with Connections», J. ACM. 28, pp. 633-645.- (1982): «A Comparative Study of Several Proof Procedures», Al. 18, pp. 269-293.- (1982b): Automated Theorem Proving, Vieweg, Wiesbaden.CHANG,C. L. (1970): «The Unit Proof and the Input Proof in Theorem Proving», J. ACM. 17,

pp. 698-707.

CHANG,C. L. y Lee, R. C. T. (1973): Symbolic Logic and Mechanical Theorem Proving. Aca-demic Press, New York.

DAVIS,M. y PUTNAM,H. (1960): «A Computing Procedure for Quantification Theory», J. ACM.7, pp. 201-215.

GILMORE,P. C. (1960): «A Proof Method for Quantification Theory», IBM. J. Res. Develop. 4,pp. 28-35.

HERBRAND,J. (1930): «Investigations in ProofTheory», en van Heijenoort, 1967, pp. 525-581(capítulo V de la tesis de Herbrand: Recherches sur la Théorie de la Démonstration).

KOWALSKI,R. (1970): «Search Strategies for Theorem-Proving», MI S, pp. 181-201.KOWALSKI,R. y KUEHNER,D. (1971): «Linear Resolution with Selection Functio~», Al. 2,

pp. 227-260.LOVELAND,D. (1968): «Mechanical Theorem-Proving by Model Elimination», J. ACM. 15,

pp. 236-251.- (1969): «A Simplified Format for the Model Elimination Theorem-Proving Procedure»,

J. ACM. 16, pp. 349-363.- (l969b): «Theorem-Provers Combining Model Elimination and Resolution», MI. 4,

pp. 73-86.-'(1972): «A Unifying View of some Linear Herbrand Procedures», J. ACM. 19, pp. 366-384.- (1978): Automated Theorem Proving: a Logical Basis, North-Holland.LUCKHAM.D. (1970): «Refinement Theorems in Resolution Theory», Symp. on Automatic De-

monstration, Lecture Notes in Math. 125, Springer-Verlag, Berlin.NILSSON,N. (1971): Problem Solving Methods in Artificial Intelligence, McGraw-Hill, New

York.

2"1En Bledsoe, 1971, por ejemplo, hay una serie de heurísticas específicas para teoría deconjuntos.

~:&:8-.",,,..J"

-- ----

.~ ~ ~- ---~

1

496 Jaime Cabrera Calvo-Sotelo

PRAWITZ,D. (1960): «An Improved Proof Procedure», Theoria 26, pp. 102-139.- (1969): «Advances and Problems in Mechanical Proof Procedures», MI. 4, pp. 73-89.QUINE,W. V. O. (1955): «A ProofProcedure for Quantification Theory», Jour. of Symbolic Lo-

gic 20, pp. 141-149.ROBINSON,J. A. (1965): «A Machine-Oriented Logic Based on the Resolution Principie»,

J. ACM. 12, pp. 23-41.ROBINSON,J. A. (1965b): «Automatic Deduction with Hyperresolution», Intern. Jour. of Com-

puter Math. 1, pp. 227-234.- (1979): Logic: Form and Contento The Mechanization of Deductive Reasoning. Edinburgh

University Press.SKOLEM,T. (1928): «On Mathematical Logic», en van Heijenoort, 1967, pp. 508-524.SLAGLE,J. R. (1967): «Automatic Theorem Proving with Renamable and Semantic Resolu-

tion», J. ACM. 14, pp. 687-697.- (1971): Artificial Intelligence: the Heuristic Programing Approach, McGraw-Hill, New

York.VANHEIJENOORT,J. (1967): From Frege to Godel: a Source Book in Mathematical Logic, Har-

vard University Press.Wos, L., CARSON,D. y ROBINSON,C. (1964): «The Unit Preference Strategy in Theorem Pro-

ving», AFIPS Conf. Proc. 26, Spartan Books, Washington D. C.Wos, L., ROBINSON,G. y CARSON,D. (1965): «Efficiency and Completeness of the Set of Sup-

port Strategy in Theorem Proving», J. ACM. 12, pp. 536-541.WANG,HAO (1960): «Toward Mechanical Mathematics», IBM J. Res Develop. 4, pp. 2-22.

J.ACM.AlMI

Journal of the Association for Computing Machinery.Artificial Intelligence.Machine Intelligence.

~ J J J 11 J II \ \ l. 1\ I 1 \\ e , I I l. I! I r I I 1 , I ! , I \ , I J I J 1 lit 11 I J 1 J .~ 1"_ ..~---- -- - -