1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens....

24
- -- - - -- -- - - -- -- L"OS PRIMEROS INTENTOS DE PRUEBA AUTOi\1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana María de Torres EL OBJETO DE ESTE TRABAJOlo constituye la prueba automá- tica de teoremas dentro del cálculo de enunciados. Que existe la posibilidad de automatizar la prueba de dichos teoremas es algo que no necesita demostración; anteceden- tes remotos a este respecto se pueden encontrar en el sistema axiomático de los Principia Mathematica de Whitehead y Russell (1910-13) y en el sistema de deducción natural pre- sentado por Gentzen en Untersuchungen über das logische Schliessen (1934). En principio, contamos con dos procedimientos a seguir: a) heurístico. b) algorítmico. La diferencia principal entre ambos métodos estriba en que el método heurístico supone una mayor economía en el tiempo empleado en la resolución de problemas, dado que no se determina a la máquina unívocamente; pero esto repercute en una falta de garantía absoluta. A la inversa, el método algorítmico nos proporciona la certeza de que halla- remos la solución al problema planteado cualquiera que sea el tiempo empleado en su búsqueda. La posibilidad de utilizar un método heurístico viene representada por los trabajos de Newell-Shaw-Simon "The Logic Theory Machine" y cCEmpirical explorations with the Logic Theory Machine" (Proceedings of the Western ]oint e omputer e onference, 1957). Como exponente del método algorítmico, tenemos el artículo de Hao Wang cCToward 489 - - - - - - -- - - -- - - - - - - -

Transcript of 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens....

Page 1: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

- - - - - -- -- - - -- - -

L"OS PRIMEROS INTENTOS DEPRUEBA AUTOi\1ÁTICA DE TEOREMAS

EN EL CÁLCULO DE ENUNCIADOS

Ana María de Torres

EL OBJETO DE ESTE TRABAJOlo constituye la prueba automá-tica de teoremas dentro del cálculo de enunciados. Queexiste la posibilidad de automatizar la prueba de dichosteoremas es algo que no necesita demostración; anteceden-tes remotos a este respecto se pueden encontrar en el sistemaaxiomático de los Principia Mathematica de Whitehead yRussell (1910-13) y en el sistema de deducción natural pre-sentado por Gentzen en Untersuchungen über das logischeSchliessen (1934).

En principio, contamos con dos procedimientos a seguir:

a) heurístico.

b) algorítmico.

La diferencia principal entre ambos métodos estriba enque el método heurístico supone una mayor economía en eltiempo empleado en la resolución de problemas, dado queno se determina a la máquina unívocamente; pero estorepercute en una falta de garantía absoluta. A la inversa, elmétodo algorítmico nos proporciona la certeza de que halla-remos la solución al problema planteado cualquiera quesea el tiempo empleado en su búsqueda.

La posibilidad de utilizar un método heurístico vienerepresentada por los trabajos de Newell-Shaw-Simon "TheLogic Theory Machine" y cCEmpirical explorations with theLogic Theory Machine" (Proceedings of the Western ]ointe omputer e onference,1957). Como exponente del métodoalgorítmico, tenemos el artículo de Hao Wang cCToward

489

- - - - - - - - - - -- - - - - - - -

Page 2: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

- - -

. ~-- - -- - - - - ---. .--

490 Los prÍ1neros intentos de prueba aut01nática...

mechanical mathematics" (IBM Journal of Research andDeveloprnent, vol. 4, n.O 1, Enero 1960).

La "Logic Theory Machine" -LT- de Newell-Sha\v-Simon constituyó el primer intento de pruebas de teorenlaslógicos nlediante 111étodos heurísticos. Según sus autores,puede probar un gran nÚmero de teorenlas de la lógica sinl-bólica: de los 52 problemas del capítulo 2 de los PrincipiaMathematica, se probaron un total de 38. Por falta de tienlpoy melnoria no se consiguió la prueba de 12. Y para los 2restantes, LT no puede encontrar una prueba. Newell, Shawy Simon hicieron hincapié en el hecho de que los 111étodosheurísticos eran superiores a los algorítnlicos, basándosepara ello en una conlparación enh'e su propio progranla yun algoritmo francanlente ineficiente. Como ejemplo de elloapuntamos el que la prueba del teorema 2.45, enconh'adapor LT en 12 minutos, hubiera requerido un tielnpo delorden de lnillares de años 111ediante el citado algoritnlo.

Hao Wang, en su artículo "Toward mechanical mathenla-tics", criticaba a los autores de la ~~LogicTheory Machine",precisamente por haber hallado un algoribl1o que, en elrango de los problemas por ellos examinados, no utilizabatanto el esfuerzo de la máquina, teniendo al nlismo tiell1pola ventaja de poder encontrar la prueba de cualquier pro-posición "probable".

Sin embargo, no hay que olvidar que Newell, Sha\v ySimon no estaban tan interesados en resolver esos deter-

lninados problemas conlO en la tarea, mucho lnás anlplia,de resolución de problell1as difíciles. Y, de hecho, pareceque la heurística es más eficiente cuando se trata de pro-blemas de dificultad nledia dentro de un dominio decidible.

Para enfrentarse a problemas conlplicados, la prueba auto-mática debe ayudarse de la heurística.

Aquí nos proponenlos exponer cada uno de estos 111éto-dos, exanlinándolos en sus principales características.

La "Logic Theory Machine" de Newell-Shaw-Simon.

Elenlentos del cálculo de enunciados que van a ser utili-zados :

- -- - - -- --- - --

Page 3: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los prhneros intentos de prueba automática... I II

1. Variables: p, q, r, ...

2. Conectivas: negador Idisyuntor V.inlplicac10r -}

3. Expresiones: diferentes combhlaciones de variahk"por n1edio de conectivas.

4. AxiOll1as: tonlados del sistenla de los Principia i\1(/-thematica.

5. Definiciones: para la reducción de conectivas.

6. Reglas de inferencia: a) Sustitución.b) Reell1plazo.e) l\f odus Ponens.

,La "Logic Theory Machine" opera n1ediante tres n1éto-dos basados en el uso de las reglas de inferencia mencio-nadas arriba:

A) l\1étodo de Sustitución. Opera con las reglas deSustitución y Reen1plazo. Ante una expresión dada, tratade realizar sustituciones en las variables v conectivas de los

~

axiOll1as y teoren1as ya probados para conseguir la expre-sión original.

B) l\létodo de Modus Ponens. ~,lediante la regla delModus Ponens, este 111étodo intenta, ante una expresión-problcl11a, establecer un nuevo subproblen1a cuya pruebaproporcionará, a su vez, la prueba de la expresión original.Por eje111plo,si la expresión que se trata de probar es deltipo A ~ B, este 111étoclo buscará un axio111a o teore111aya probado, de la forn1a A ->(A~ B). Si lo encuentra, esta-blecerá A C01110nuevo subproblen1a y, una vez halladasu prueba, A ~ B estará tmnbién probado.

C) l\létodos de EncadenanÜento. Son de dos tipos ysu forn1a de actuar es la explicitacla en el "silogisn10 enca-denado" :

([) (a -} b) A (b ~ c) ~ (a ~ c)

Page 4: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

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

492 Los primeros intentos de prueba automática...

donde (a ~ c) es la expresión original cuya prueba se busca;(a ~ b) es el axioma o teorema en que se basará la prueba,y (b ~ c) es establecido entonces con10 nuevo subproblemacuya prueba se ha de encontrar.

b) (b ~ c) A (a ~ b) ~ (a ~ c)

donde cada una de las expresiones se n1antienen para exac-tan1ente lo miS1l10que en el caso anterior: (b ~ c) es el axio-ma o teoren1a ya probado mientras que (a ~ b) es el nuevosubproblema.

Estos métodos constituyen unidades independientes; pue-den, por tanto, funcionar aisladamente o en conexión unoscon otros.

De acuerdo con esto, podríamos esbozar el siguiente dia-grama para el programa LT (ver página siguiente):

En primer lugar, el programa ordena el almacenamientoen memoria de los axiomas y teoremas ya probados quehabrán de ser utilizados en la prueba de cualquier expresión-problema. Por otra parte, hay un espacio de memoria re-servado para el aln1acenamiento de los subproblemas quevayan surgiendo a lo largo del proceso de prueba, y quetambién habrán de ser utilizados. Suponelnos que existeta1l1bién una lista de expresiones-problema que habrán deser seleccionadas para su prueba.

Con esto cOlnienza el programa propiamente dicho:

l. Se toma el primer problema de la lista de expresio-nes-problema. Mediante el método de sustitución, y con elmaterial almacenado en la lista de axion1as y teoremas ya'probados, se trata de convertir el axioma o teorema ya pro-bado sobre el que se va a basar la prueba, en la expresión-problema. Si se logra, se detiene la ejecución del programapara volverse a iniciar de nuevo desde el principio con unnuevo problema de la lista de expresiones. Si el resultadoes nulo:

2. Se intenta llegar a la solución deseada mediante eln1étodo de Modus Ponens. Aquí se h.ata, en prÍlner lugar,

Page 5: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los primeros intentos de prueba automática... 493

AXIOMASTEOREMAS..

SUBPROBLEMAS

NUEVOPROBLEMA

STOP

SUBPROBLEMA

SUBPROBLEMA

no no

SELECCIONSUBPROBLEMA

de crear un subproblema cuya prueba nos permita obtenerla de la expresión original. Si se puede establecer este sub-problema, se intentará su prueba por el método de sustitu-ción. Si se obtiene, el proceso acaba y se selecciona un nuevoproblema. Si el método de sustitución falla, el subproblemase almacena en el espacio reservado al efecto, en espera desu utilización posterior.

----- - - - - -

Page 6: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

494 Los primeros intentos de prueba automática...

Si no se ha podido crear un nuevo subproblen1a:

3. Se intentan, de nuevo sobre la expresión originatlos 111étodosde encadenamiento. El proceso que se sigue essÍl11ilar al anterior: creación de subproblemas, obtenciónde su prueba n1ediante el n1étodo de sustitución...

Ahora bien, si no se ha podido crear un subproblen1a y,puesto que ya se han probado todos los n1étodos sobre laexpresión original, la rutina que se inicie ahora operarácon los subproblemas que se hayan almacenado en la listade subproblemas. Es decir, se irán seleccionando los dife-rentes subproblemas creados y sobre cada uno de ellos sellevará a cabo la rutina completa hasta que a) se encuentreuna prueba, b) se agoten los subproblemas, c) se agote eltien1po o la lnemoria del C0111putador.

De todo ello poden10s ya concluir la importancia dellnétodo de sustitución. Cualquiera que sea el n1étodo quese aplique, el de Sustitución es el que, de hecho, nos con-duce a la prueba. Es por ello por lo que está presente entodos y cada uno de los pasos.

Veálnoslo con algunos ejemplos:

T.2.01

(p--;.. ., p) -~ -, p

(p v p) --;.. p

si

no

STOP

--- ----

Page 7: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los primeros intentos de prueba automática... 495

En este ejemplo, la prueba se obtiene utilizando única-111enteel método de Sustitución sobre el axioma 1.2. No se

necesita la creación de nuevos subproblemas.

T. 2.45

.., (p v q) -+ .., P

(p--+ q)-+ ( I q-+ -'p)si

;{vp

no

p -+ (p v q) -. (p V qJ-+ ..,P

no

( STOP)

En este caso, se intenta en primer lugar una sustituciónsobre el teorema 2.16. Con ello se obtiene una nueva expre-sión cuyo consiguiente es idéntico a la expresión-problelna.Se trata de establecer entonces (método de Modus Ponens)el antecedente como nuevo subproblema para intentar suprueba. Pero, una vez hecho esto, se advierte que coincidecon el teorema 2.2, por lo cual se puede dar por probadoel consiguiente de la expresión y, de aquí, la expresión-pro-blema que se quería probar.

- --- - - --

Page 8: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

496 Los prÍ1neros intentos de prueba autolnática...

Nota: LT utiliza un procedhniento de "Colnparación':>que le pern1ite darse cuenta, en cada caso, de cuál sea elaxion1a o teorema similar a la expresión-problen1a y, ensegundo lugar, de los avances obtenidos en cada paso de laprueba. Así pues, la posibilidad de con1parar en todo 1no-n1ento los resultados que se van obteniendo con la expresiónoriginal, hace que los métodos en1pleados en el prograIllasean n1ucho 111áspotentes.

El tien1po en1pleado en la búsqueda de la prueba sereduce todavía lnás al añadir un nuevo procedimiento antesdel de conlparación. Se denon1ina "test de semejanza" yconsiste en ignorar, para el procedinliento de comparación,todos aquelIos axionlas o teorenlas que, a simple vista, notienen ninguna senlejanza con la expresión que se h'ata deprobar. Los tests de semejanza se aplican en todos losl1létodos previanlente al procedinliento de comparación, porlo cual se reduce en gran nledida el número de utilizacionesde éste último, al misnlO tiempo que la probabilidad de quesu enlpleo sea fructífero, es nlucho mayor.

Hay que decir, sin enlbargo, que al ser el test de senle-janza un procedimiento heurístico, no ofrece garantías deéxito absoluto e incluso, a veces, puede delnorar la pruebade una expresión.

Henl0s visto que la "Logic Theory Machine" cuenta contres 111étodos-Sustitución, Modus Ponens y Encadenanlien-to- que le permiten hanar la prueba deseada para el pro-blen1a en cuestión (no sielnpre, claro está; hay que teneren cuenta que nos estaBlOS l1loviendo en el ámbito de laheurística y esto Í111ponelín1ites al éxito apetecido). El pri-I1ler método eI11pleado en la búsqueda de la prueba de unaexpresión cualquiera, es el método de Sustitución; pero sieste nlétodo fracasa, entran entonces en juego los de ModusPonens y Encadenanliento. De esta manera, ante un pro-bleI11a conlplejo o sin "antecedentes directos" en la lista deaxiomas y teorenlas auxiliares, an1bos lnétodos generan nue-vos subproblelnas sobre los que basar la prueba. Es por ellopor lo que, en el curso de la prueba de un teorenla, poden10s

Page 9: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

.0- ___ _________

Los prÍ1neros intentos de prueba auton1ática... 497

encontrarnos envueltos en la resolución de varios subpro-blemas diferentes, surgidos sobre la base de aquél.

Por supuesto, si para la prueba se utiliza un númeroelevado de axiomas y teoren1as previamente demostrados,el número de subproblemas generado será también elevado.Consiguientemente, el esfuerzo desarrollado por el compu-tador al tener que analizar tantas posibilidades, es enorme.Tanto el tiempo como la memoria del computador se agotan

. fácilmente.

Puesto que la generación de subproblemas se lleva acabo algorítmicamente (en principio), su número no puedeser reducido. Pero se podría mejorar a LT de diversas n1a-neras a este respecto; esto supondría una ayuda en cuantoa reducción de tiempo de computación y esfuerzo de lamáquina. Pero, en definitiva, tendríamos que seguir enfren-tándonos al hecho de que, mediante sólo procedin1ientosheurísticos, la eficacia de la prueba no es, ni n1ucho menos,definitiva.

Algoritmo de H ao Wang

El punto clave del algoritn10 de Wang para el cálculode enunciados nos lo proporcionan las reglas de inferenciautilizadas. Mediante ellas, tiene lugar la supresión de co-nectivas lógicas. Así, en cada aplicación de una de las re-glas, desaparecerá una constante lógica (siempre de mayora menor alcance) pretendiéndose, en definitiva, la desapa-rición de todas ellas.

Expresiones utilizadas:

l. Constantes lógicas: negador f"OoJ

conjuntor &disyuntor Vimplicador ::>bicondicional ~

2. F órn1ulas bien formadas:

-Una letra proposicional P,Q,R,M,N, ... [n1ayúsculas],es una fórmula (y una "fórn1ula atómica").

Page 10: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

498 Los prÍ1neros intentos de prueba 1I1IIU/lllIli(,(I...

-Si ep, t}; son fón11ulas, entonces '"""' ep, ep & t};, ep V t};,ep :J tlJ, ep == t}; son fónnulas.

-Si 1t, P son cadenas de fónnulas (cada una en particu-lar puede ser una cadena vacía o una fórn1ula sÜnple) y epes una fórn1ula, entonces 1t, ep,p, es una cadena y 1t => P esun secuente que, intuitivan1ente hablando, es verdaderosi y sólo si o alguna fónnula en la cadena 1t (el «antece-dente") es falsa o alguna fónnula en la cadena p (el «con-siguiente") es verdadera.

3. Reglas de derivación:

Pl. Regla inicial: si A., S son cadenas de fórn1ulas atólni-cas, entonces A.=> Ses un teorelna si alguna fórn1ula atón1i-ca ocurre a mnbos lados de la flecha. En las diez reglassiguientes, )~ )' S son sien1pre cadenas (posiblemente vacías)de fónnulas atón1icas.

P2a. Regla => '"""'

P2b. Regla '"""'=> :A.,P=>1t,ep

A. , '"""'ep , p => 1t

P3a. Regla => & :s=>A.,ep,p y s=>A.,tlJ,p

s=>A.,ep&tlJ,p

P3b. Regla & => :A.,ep,t};,p=>1t---

A.,ep&tlJ,p=>1t

P4a. Regla => V : S=> A. , ep , t};~~- S => A. , ep Vt}; , p

P4b. Regla V=>:A.,ep,P=>1t y A.,t};,P=>1t

A.,epVtlJ,p=>1t

P5a. Regla =>:J :s,ep=>A.,t};,p

s=>A.,ep:JtlJ,p

- - --

Page 11: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

rt}-,.,'>

I.

- --

Los primeros intentos de prueba automática... 499

A,\fJ,P=>1t Y A,p=>1t,q>A,q>:)\fJ,p=>1tP5b. Regla:) => :

P6a. Regla => ==: q>, ~=> A , \fJ , p y \fJ, ~ => A , q> , py =>A.,q>==~,p

P6b. Regla ===>: q>, \fJ, A , p =>1t Y A, p => 1t , q> , \fJ"\,q> == \fJ,p=>1t

El procedimierlto ,a seguir en la búsqueda de las prue-bas es el siguiente:

1) Sustituir el signo de implicación (si ésta es la conec-tiva principal) por una Hecha que nos delimitará antece-dente y consiguiente. (Si la conectiva principal fuera otra,prefijaremos una Hecha). . .

2) Aplicar las reglas un número finito de veces parasuprimir toda conectiva lógica.

3) Aplicación de la regla inicial.

Veamos unos ejemplos (Hao Wang):

T .2.45

(1)(2)(3)

T.5.21

(1)(2)(3)(4)(5)

11

- - -

~ (P V Q) => ~ P=>~P,PVQP=>PVQP=>P,Q

VALIDO

(1)(2)(3)

=> ~ P& ~ Q":)"p == Q~P&~Q=>P==Q~P,~Q=>P==Q~Q=>P==Q,P=>P==Q,P,QP=>Q,P,Q

VALIDO

(1)(2)(3)(4)(5)

- - -

Page 12: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

- --- --

500 Los prÜneros intentos de prueua aulomática...

(5) Q => P , Q , P

VALIDO

De hecho, Wang hace uso de la notación polaca en larealización de su progran1a; de esta n1anera, las conectivaslógicas se transforman en:

En esta nueva notación, las pruebas de los teoren1as yaexpuestos serían:

(5) Q - P , P , Q

VALIDO

(7)

----

T.2.45. FDPQ - FP (1)(1) FP , DPQ (2)(2) P-DPQ (3)(3) P - P , Q (4)

VALIDO

T.5.21. -ICFp. FQ . . BPQ (1)(1) CFP' FQ - BPQ (2)(2) FP, FQ - BPQ (3)(3) FQ - BPQ , P (4)(4) - BPQ , P , Q (5)(5) P - Q , P , Q (6)

VALIDO

Page 13: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los pri1neros intentos de prueba automática... 501

El programa construido para el algoritmo de Wang ca-pacitaba a la máquina para probar los teoremas compren-didos en los cinco primeros capítulos de los PrincipiaMathematica (que son aproximadamente 200). El tiempoque se utilizó para ello fue de unos 37 minutos; teniendoen cuenta (según informa Wang) que el 12/13 del tiempose emplea en leer e imprimir, el tiempo de prueba quedareducido a menos de 3 minutos. Los 52 teoremas elegidospor Newell, Shaw y Simon en su trabajo, se encuentranentre los más fáciles, y fueron probados en menos de 1/2minuto si descontamos el tiempo input-output.

Prograrna en LISP para el algoritmo de Wang

A. Diagramas de flujoI. Decisión de fórmula a analizar.

THEOREM (s)

th1 (nil;nil;cadr (s);caddr (s))

--- - - -

Page 14: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

I!IIIIIiJ

502 Los primeros intentos de prueba automática...

11. Análisis de antecedente.THI (aI;a2;a;c) -

11si

I!

I

th2 (a1; a2;nU; nil; e)

11

[1

iII

no

I

si

STOP

no

si

si

no no

"

cons (car(a); a1)

si

no

II¡1,

H

11..

cons (car(a); a2) th1 (a1; a2;

cdr (a); e)

'1,

th1 (a1; a2;cdr (a); e)

--

Page 15: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

't!'".

Los primeros intentos de prueba auto1nática... 503

IIL Análisis de consiguiente.TH2 (al. a2. el. e2. e) -, , , ,

sitl1 (a1; a2;

e1; e2)

no

si

si

nono

eans (ear(e); c1)

si

eans (ear.(e); e2)

th2 (a1; a2; e1;e2; edr (e))

th2 (a1; a2; c1;e2; edr (e))

Page 16: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

504 Los prim,eros intentos de prueba aut01nática...

IV. Decisión prioridad reducción de operadores.TH (al;a2;cl;c2) -

no

th1 (car (a2); a1;cdr (a2); c1; c2J

si

rv null (c2) thr (car (c2); a1a2; c1; cdr (c2)J

Page 17: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los primeros intentos de prueba automáticaoo. 505

V. Reducción de operadores en antecedenteTHL (uoaloa2ocl.c2 ) -

) ) ) )

no

no

no

no

no

STOP

- -- - - - - --

sith1r (cadr (u);a1; a2; c1; c2)

sith21 (~dr (u);

a 1; a2; e 1; c2)

sith11 (cadr (u);

a1; a2; c1; c2)th11 (caddr (u);a1; a2; c1; c2)

si th1 r (cadr (u);a1; a2; c1; c2)

th11 (caddr (u);a1; a2; c1; c2)

si th21 (cdr (u);a1; a2; c1; c2)

th2r (cdr (u);a1; a2; c1; c2)

Page 18: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los primeros intentos de prueba automática...

VI. Reducción de operadores en consiguiente.THR (u;al;a2;cl;c2) -

no

no

no

STOP

si I th11 (cadr (u);a1; a2; c1; c2)

si th1 r (cadr (u);a1; a2; c1; c2}

th1r (caddr (u);.a1; a2; c1; c2)

si I th2r (cdr (u);a1; a2; c1; c2)

si I th11 (cadr (u);cad.dr (u); a1.;

a2; c1; c2)

si th11 (cadr (u);caddr (u);. a1;

a2; c1;' c2)

th11 (caddr (u);cadr (u); a1;a2; c1; c2)

liliI

\\111I1111

506l.11

1I

'1

1I1111

\\\ I

II!

\\1

\ .I .i 1

\\1

mi

\,

\I

\)\1

'11\

I11

111¡

I

I1iII

I

i

Page 19: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los prÍ1nerosintentos de prueba automática... 507

VII. Distribución monádica a antecedente.

THIL (v;al;a2;cl;c2) -

siSTOP

no

STOPth (a1; a2; cons

(v; c1) ; c2)

no

111 (a1; a2; c1;cons (v; c2)

VIII. Distribución monádica a consiguienteTHIR (v;al;a2;cl;c2) -

siSTOP

no

STOPth (cons (v); a1);

a2; c1; c2)

no

th {a1; cons (v;a2); c1; c2)

- - -

Page 20: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

.508 Los primeros in{('11{O.\' dt' JlJ'uclJ(/ automática...

IX. Dislrihlll,j(')i) di;Úlica a antecedente

TH2L (v;al;a2;cl;c2) -

no

thlr (emIr (v);al; ,12; el; COIlS

(ear (v); e.2)

si si( STOP"--

no

STOP

th1r (cDdr (v);<11; a2; eons

(ear (v); e1; e2)

x. Distribución diádica a consiguienteTH2R (v;al;a2;cl;c2) -

no

th1l (emIr (v):a1: cons (ear (v);

, a2): e1; e2)

siSTOP

no

STOP

th1l (e::ldr (v);eons {ear (v);a1); e1; e2)

Page 21: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los prÍ1neros intentos de prueba aut01náliCll. .. 50D

XI. Distribución diádica explícita cruzada.TH11 (v1;v2;a1;a2;cl;t'2)

si siSTOP

no

si

e STOP)

no.th1r (v2; cons(v1; a1); a2;

c1; c2)tl11r (v2; a1;

cons (v1: a2);e 1; c2)

B. Transcripción del programa (J. McCarthy y otros: LISP1.5 Programnler>s Manual> Can1bridge, Mass., The~1. l. T. Press, 1966, págs. 48-50):

DEFINE(((THEORE1\1 (LAMBDA (S) (THl NIL NIL (CADR S)

(CADDR S))))(TH1 (LAMBDA (Al A2 A C) (COND «(NULL A)

(TH2 Al A2 NIL NIL C)) (T(OR (1\1E1\1BER(CAR A) C) (COND ((ATOM (CAR A))(TI-Il (COND ((MEMBER (CAR A) Al) Al)(T (CONS (CAR A) Al))) A2 (CDR A) C))(T (TH1 Al (COND ((MEMBER (CAR A) A2) A2)(T (CONS (CAR A) A2))) (CDR A) C))))))))

(TH2 (LAMBDA (Al A2 C1 C2 C) (COND((NULL C) (TH Al A2 C1 C2))

- - - - - - -- - - - - - -

Page 22: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

- - -

.. - - . - ._- . - - - - - . - -- - - - - . . - . -

510 Los primeros intentos de prueba automática...

«ATOJ\1 (CAR C)) (TH2 Al A2 (COND«J\1EMBER (CAR C) Cl) Cl) (T(CONS (CAR C) Cl))) C2 (CDR C)))(T (TH2 Al A2 Cl (COND «MEMBER(CAR C) C2) C2) (T (CONS (CAR C) C2)))(CDR C))))))

(TH (LAMBDA (V Al A2 Cl C2) (COND «NVLL A2)(AND (NOT (NVLL C2)) (THR (CAR C2) Al A2 Cl(CDR C2)))) (T (THL (CAR A2) Al (CDR A2) Cl C2)))))

(THL (LAMBDA (U Al A2 Cl C2) (COND«EQ (CAR V) (QVOTE NOT)) (TH1R (CADR V) AlA2 Cl C2))«EQ (CAR V) (QVOTE AND)) (TH2L (CDR U) AlA2 Cl C2))«EQ (CAR V) (QVOTE OR)) (AND (THlL (CADR V)Al A2 Cl C2) (TH1L (CADDR V) Al A2 Cl C2) ))«EQ (CAR V) (QVOTE IMPLIES)) (AND (TH1L(CADDR V) Al A2 Cl C2) (THlR (CADR V) Al A2Cl C2) ))

«EQ (CAR V) (QVOTE EQVIV)) (AND (TH2L (CDR V)Al A2 Cl C2) TH2R (CDR V) Al A2 Cl C2) ))(T (ERROR (LIST (QVOTE THL) V Al A2 Cl C2))))))

(THR (LAMBDA (V Al A2 Cl C2) (COND«EQ (CAR V) (QUOTE NOT)) (THlL (CADR V) AlA2 Cl C2))«EQ (CAR V) (QVOTE AND)) (AND (THlR (CADRV) Al A2 Cl C2) (THlR (CADDR V) Al A2 Cl C2) )«EQ (CAR V) (QVOTE OR)) (TH2R (CDR V) Al A2Cl C2))«EQ (CAR V) (QVOTE IMPLIES)) (THll (CADR V)(CADDR V) Al A2 Cl C2))«EQ (CAR V) (QVOTE EQVIV)) (AND (THll (CADRV) (CADDR V) Al A2 Cl C2) (THll (CADDR V)(CADR V) Al A2 Cl C2) ))(T (ERROR (LIST (QVOTE THR) V Al A2 Cl C2))))))

- - - - --- - - - - -

Page 23: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

Los primeros intentos de prueba automática... 511

(THlL (LAMBDA (V Al A2 Cl C2) (COND((ATOM V) (OR (MEMBER V Cl)(TH (CONS V Al) A2 CI C2) ))(T (OR (MEMBER V C2) (TH Al (CONS V A2 CI C2) )))))

(THIR (LAMBDA (V Al A2 CI C2) (COND((ATOM V) (OR (MEMBER V Al))(TH Al A2 (CONS V CI) C2) ))(T (OR (MEMBER V A2) (TH Al A2 CI (CONS V C2)))))))

(TH2L (LAMBDA (V Al A2 CI C2) (COND«ATOM (CAR V)) (OR (MEMBER (CAR V) CI)(THIL (CADR V) (CONS (CAR V) Al) A2 CI C2)))(T (OR (MEMBER (CAR V) C2) (THIL (CADR V) Al(CONS (CAR V) A2 CI C2))))))

(TH2R (LAMBDA (V Al A2 CI C2) (COND((ATOM (CAR V) (OR (MEMBER (CAR V) Al)(THIR (CADR V) Al A2 (CONS (CAR V) CI C2)))(T (OR (MEMBER (CAR V) A2) (THIR (CADR V) AlA2 CI)))

(THII (LAMBDA (VI V2 Al A2 CI C2) (COND(ATOM VI) (OR (MEMBER VI CI) (THIR V2 (CONSVI Al) A2 CI C2)))(T (OR (MEMBER VI C2) (THIR V2 Al (CONS VIA2 CI C2))))))

APÉNDICE

Lista de funciones LISP utilizadas

Nombre función Definición Resultado

(ATOM A) ... ... ...

(CADR A B C) ...

¿Es este sím bolot I . ?a omlCO. . . . .. . . . . . . .

Toma la parte inicial delresto ... ... .. . ... . .. B

T/F

- - - -

Page 24: 1ÁTICA DE TEOREMAS EN EL CÁLCULO DE ENUNCIADOS Ana … · B) l\létodo de Modus Ponens. ~,lediante la regla del Modus Ponens, este 111étodointenta, ante una expresión-problcl11a,

- --

512 Los prirnel'os intentos de prueba auto1nática...

Non~bre función

(CADDR A B C D).

(CAR A B) ... ... ...(CDR A B) .oo ...(CONS A B)

(EQ A B) oo.

(DEFINE(((A (oo.))(B (.oo)))) ) ... ...

(MEMBER (A) A) .

(NULL A) oo. ...

(QUOTE A) oo.

Definición

T0l11a la parte inicial delresto del resto . . .

TOll1a la parte inicial ...TOlna el resto oo' ... .oo

C o1111?ón los elell1entosdados ... .. . ... ... ...

¿ So n equivalentes losdos sínlbolos? ... .., ...

Establece A Y B con10nonlbres de las funcio-

nes que se definen ...¿Es nlielnbro el prin1er

elenlento del segundo?¿Es A una clase vacía? ..."A" Ha de ser ton1ada

C01l10ella miS111ay noconlO n01l1bre para otracosa .. . ... .. . ... ...

---

Resultado

CAB

(A B)

T/F

A, B

T/FT / F

A