Logica Clasica de Predicados Computacional 2014 2015

167
L´ogicaparalaComputaci´on II)L´ogicaCl´ asica de Primer Orden Alfredo Burrieza Mu˜ niz Manuel Ojeda Aciego

description

logica

Transcript of Logica Clasica de Predicados Computacional 2014 2015

Page 1: Logica Clasica de Predicados Computacional 2014 2015

Logica para la ComputacionII) Logica Clasica de Primer Orden

Alfredo Burrieza Muniz

Manuel Ojeda Aciego

Page 2: Logica Clasica de Predicados Computacional 2014 2015
Page 3: Logica Clasica de Predicados Computacional 2014 2015

i

La razon por la que las personas mienten con frecuenciaes que les falta imaginacion

no se dan cuenta de que la verdad, tambien,es una cuestion de invencion.

(Ortega y Gasset)

Este documento presenta la Logica Clasica de Primer Orden. En el hemos puesto especialenfasis en los aspectos algorıtmicos, en definitiva, en presentar la logica como el calculo de lasCiencias de la Computacion y, en particular, como afirma Mordechai Ben-Ari, 1 como la basematematica del software.

La Logica Computacional, como disciplina incluida en los estudios conducentes a la obtenciondel tıtulo de Ingeniero Informatico, ha de enmarcarse en el ambito de lo que podemos llamarFundamentos y Metodos Formales en Computacion.

El atractivo de las Ciencias de la Computacion es doble. Por una parte, su juventud; porotra parte, sus orıgenes. Se suele establecer que las Ciencias de la Computacion se han desa-rrollado, principalmente, a partir de la confluencia de tres disciplinas: Matematica, Ingenierıa yLinguıstica. Vamos a hacer un un breve comentario para cada una de ellas.

Podrıamos situar el inicio de la aportacion de la Ingenierıa a la Logica en 1938, cuandoClaude E. Shannon 2 (mas tarde famoso por su “Teorıa de la Informacion”) observo que lasfunciones realizadas por circuitos combinacionales (inicialmente construidos con reles), se podıanrepresentar con la notacion simbolica de las algebras de Boole. A mediados de los 50, SamuelCaldwell y David Huffman extendieron este trabajo a los circuitos secuenciales, lo cual dio origenal desarrollo de la teorıa de maquinas de estados finitos 3.

La contribucion de la Linguıstica llega a finales de los 50, cuando Noam Chomsky, con su“Teorıa de las gramaticas formales”, establecio las bases de la Linguıstica matematica e inicio elcamino hacia la formalizacion en la descripcion de los lenguajes naturales. 4

En la misma epoca de los trabajos de Chomsky, se estaba investigando en la especificacion dela sintaxis de lenguajes de programacion de ordenadores. John Backus adapto las aportaciones

1Ben-Ari, M. Mathematical Logic for Computer Science. Prentice Hall”1993.2C.E. Shannon. A symbolic analysis of relay and switching circuits. Transactions of the AIEEE, 57: 713-723,

1938.3D.A. Huffman. The synthesis of sequencial switching circuits. Journal of the Franklin Institute, 257: 161-190,

1954.4N. Chomsky. On certain formal properties of grammars. Information and Control, 2 (2): 137-167. 1959.

Page 4: Logica Clasica de Predicados Computacional 2014 2015

ii

de Emil Leon Post 5 a tales especificaciones 6, y obtuvo una notacion que era una variante delas gramaticas de contexto libre de Chomsky.

Por otra parte, el estudio de las clases de lenguajes generados por las gramaticas de Chomskyy el estudio de las maquinas de estados finitos llevo al establecimiento de una relacion inmediatay sorprendente: los mismos fenomenos aparecıan de forma independiente en ambos campos, demanera que se podıan establecer una identificacion (“isomorfismo”) entre ambos modelos.

La parte correspondiente a la Matematica se centra en el “problema de la decision”, queesta ıntimamente ligado al concepto de algoritmo y en particular con la automatizacion de losrazonamientos. Podrıamos remontarnos hasta la Edad Media con Raimundo Lulio que centro suobjetivo en encontrar un “metodo” para demostrar si una afirmacion es verdadera o falsa,teniendo en cuenta el “esquema” al que se ajusta. Este objetivo fue formulado con mas precisiony con la maxima ambicion por David Hilbert en 1900 (Entscheidungsproblem) en el CongresoInternacional de Matematicos en Parıs. 7. La pretension de Hilbert era disponer de un algoritmogeneral que permitiera resolver cualquier problema bien definido en Matematicas. Invitamos allector a que incluya entre sus futuras lecturas las referidas a si Hilbert vio o no cumplido sudeseo.

Podemos fijar que con Augustus De Morgan, George Boole y, destacadamente, Gottlob Fregeen el siglo XIX; Alan Turing, Emil Post, Alonzo Church, Stephen Kleene, Kurt Godel, JacquesHerbrand y Gerhard Gentzen en 1930 y John Alan Robinson en 1960 (todos ellos grandes ma-tematicos) la logica tomo cuerpo como potente herramienta cientıfica. Sus trabajos dieron lugara todo un cuerpo de doctrina que es referida de forma habitual como Logica Computacional yque ha constituido la base de lo que hoy se entiende por Ciencias de la Computacion.

Consideramos que el conocimiento de la logica computacional es fundamental en la formaciondel informatico. Ası se contempla en las mas destacadas recomendaciones de los expertos enComputacion. Por ejemplo,

La ACM, en la elaboracion de los sucesivos Curriculum en Informatica considera los topicosde logica computacional como fundamentales.

Desde sus inicios, el Comite de Actividades Educativas del IEEE, mantiene la mismaconsideracion.

El modelo de curriculum de la Universidad Carnegie-Mellon introduce un apartado sobrelas Ciencias de la Computacion en el que destaca la logica.

. . .

Por otra parte, para destacar el interes por el estudio de la logica en el ambito de la Computacion,bastarıa afirmar que su conocimiento es esencial en la mayorıa de las areas. Podemos destacar,sin la pretension de ser exhaustivos, los siguientes:

- Estructuras de Datos y Algoritmos

5E.L.Post. Introduction to a general theory of elementary propositions. In Jean van Heijenoort, edito, FromFrege to Godel. A Source Book in Mathematical Logic. Harvard University Press, 1921.

6J.W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich. ACM-GAMM Conference. IFIP’59, 125-131, 1959.

7invitamos al lector a indagar sobre el conocido como “decimo problema de Hilbert”

Page 5: Logica Clasica de Predicados Computacional 2014 2015

iii

- Inteligencia Artificial y Robotica

- Bases de Datos y Recuperacion de Informacion.

- Comunicacion Hombre-Maquina.

- Lenguajes de Programacion.

- Ingenierıa y Metodologıa del Software.

- Vision computacional.

- Planificacion.

- Verificacion de protocolos de seguridad.

- Diagnostico.

- Etc.

Es cierto que se puede argumentar que la Logica no ha tenido la repercusion esperada en lasaplicaciones; pero tambien lo es que la situacion ha variado en las dos ultimas decadas y quedestacadas empresas en Informatica y Telecomunicaciones como IBM, AT&T, Intel, Motorola,. . . reclaman especialistas en el tema.

Todas estas consideraciones nos llevan a abordar la redaccion de este texto. En el primervolumen estudiamos la Logica Clasica proposicional y en este estudiaremos la Logica Clasicade Predicados. Seguiran otros sobre diferentes logicas cuyo papel es relevante en Computacion.Iniciamos la tarea con ilusion y responsabilidad, como reto sobre cuyas consecuciones esperamosenriquecer con sugerencias de los lectores.

Page 6: Logica Clasica de Predicados Computacional 2014 2015

iv

Page 7: Logica Clasica de Predicados Computacional 2014 2015

Indice general

1. Logica de Primer Orden 1

1.1. Lenguaje L1 de una Logica de Primer Orden . . . . . . . . . . . . . . . . . . . . 4

1.1.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.2. Terminos y Formulas Bien Formadas . . . . . . . . . . . . . . . . . . . . . 6

1.1.3. Arbol Sintactico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.4. Variables Libres y Variables Ligadas . . . . . . . . . . . . . . . . . . . . . 13

1.1.5. Sustitucion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.2. Semantica para los Lenguajes de Primer Orden . . . . . . . . . . . . . . . . . . . 19

1.2.1. Semantica de Tarski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.2.2. Satisfacibilidad y Validez . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2.3. Equivalencia Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.3. Forma Normal Prenexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.4. Skolemizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1.5. Consecuencia Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2. Modelos de Herbrand 55

2.1. Interpretaciones de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.2. Teorema de Herbrand y Semidecidibilidad de L1 . . . . . . . . . . . . . . . . . . 61

2.2.1. Arboles Semanticos en L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

2.2.2. Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

2.3. Modelos Finitos y Modelos Infinitos . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.3.1. Compacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.4. Indecidibilidad de L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3. Sistemas Deductivos para L1 77

3.1. Un sistema axiomatico para L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

3.1.1. El Teorema de la Deduccion . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3.1.2. Correccion y Completitud de L1 . . . . . . . . . . . . . . . . . . . . . . . 82

3.1.3. Correccion, Completitud y Semidecidibilidad . . . . . . . . . . . . . . . . 84

3.2. Deduccion Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

3.3. Teorıas de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.3.1. Teorıas con Igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.4. Algunas Teorıas de Primer Orden con Igualdad . . . . . . . . . . . . . . . . . . . 94

v

Page 8: Logica Clasica de Predicados Computacional 2014 2015

vi INDICE GENERAL

3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

4. Metodo de las Tablas semanticas 994.0.1. Reglas de Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.0.2. Reglas para una Extension Sistematica . . . . . . . . . . . . . . . . . . . . 104

4.1. Descripcion del Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.2. Correccion y Completitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

4.2.1. Tablas semanticas para la Construccion de Modelos . . . . . . . . . . . . 1084.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5. Metodo de Resolucion 1175.1. Resolucion basica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185.2. Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.2.1. El Algoritmo de Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . . 1255.3. Resolucion de Atomos no basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

5.3.1. Resolucion Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.3.2. Resolucion Lineal Ordenada . . . . . . . . . . . . . . . . . . . . . . . . . . 134

5.4. Clausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385.4.1. Programacion logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415.4.2. Mınimo Modelo de Herbrand para un Programa logico . . . . . . . . . . . 145

5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

6. Logica de Predicados de Segundo Orden 1516.1. Lenguajes de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

6.1.1. Formulas Bien Formadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526.1.2. Limitaciones expresivas de la logica de primer orden que no tiene la de

segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546.1.3. Algunas cuestiones mas acerca de la logica de segundo orden . . . . . . . 158

Page 9: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 1

Logica de Primer Orden

Indice

1.1. Lenguaje L1 de una Logica de Primer Orden . . . . . . . . . . . . . . 4

1.1.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.2. Terminos y Formulas Bien Formadas . . . . . . . . . . . . . . . . . . . . 6

1.1.3. Arbol Sintactico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.4. Variables Libres y Variables Ligadas . . . . . . . . . . . . . . . . . . . . 13

1.1.5. Sustitucion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.2. Semantica para los Lenguajes de Primer Orden . . . . . . . . . . . . 19

1.2.1. Semantica de Tarski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.2.2. Satisfacibilidad y Validez . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2.3. Equivalencia Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.3. Forma Normal Prenexa . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

1.4. Skolemizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1.5. Consecuencia Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

En el primer libro, “Logica para la Computacion. I) Logica Clasica Proposicional”, hemoscontemplado el tipo mas simple de lenguaje logico, el de la logica proposicional clasica, la cual, afin de establecer criterios sobre la exactitud de razonamientos, formaliza la parte mas elementalde nuestro lenguaje natural. Concretamente:

Solo considera las frases declarativas, llamadas enunciados, a las que es posible consideraro bien verdaderas o bien falsas y con ningun otro valor de verdad (es decir, es bivaluaday trabaja con el conocido como Principio del tercero excluido que afirma que dado unenunciado, A, se tiene que o bien A es verdadera o bien “no A” es verdadera.

El valor de verdad asignado a cada enunciado queda completamente determinado por elvalor de verdad o falsedad asignado a los enunciados simples que la componen y por laspartıculas no, o, y, si . . . entonces, si y solo si, utilizadas como elementos de enlace (esdecir, es veritativo-funcional).

1

Page 10: Logica Clasica de Predicados Computacional 2014 2015

2 CAPITULO 1. LOGICA DE PRIMER ORDEN

La asignacion de valores de verdad o falsedad a los enunciados se realiza sin recurrir aconsideraciones de contexto alguno y sin considerar la estructura interna de los enunciadossimples (es decir, trabaja al nivel mas sencillo de analisis: el sujeto y el predicado quecomponen internamente un enunciado simple son irrelevantes, como entidades aisladas,para la logica proposicional).

Ası, si consideramos el razonamiento:

Todo estudiante es inquieto

Luis es un estudiante.

Por lo tanto, Luis es inquieto.

intuitivamente, no dudamos en afirmar que es un razonamiento correcto. En efecto, respondea la forma “Todo A es B” y “c es un A”. Por lo tanto “c es un B”. Sin embargo, la logicaproposicional no contempla estructura alguna en los enunciados declarativos simples, ya que sulenguaje unicamente permite representar las expresiones “Todo estudiante es inquieto”, “Luises un estudiante” y “Luis es inquieto”, por sımbolos proposicionales p, q y r respectivamente.Por lo tanto, en el marco de dicha logica, la formalizacion de este razonamiento viene dada por

pq

r

que no es un razonamiento valido en la logica proposicional clasica.

Del mismo modo, la logica clasica proposicional no basta para analizar la correccion deprogramas respecto a una especificacion formal. Por ejemplo, la correccion de un programa quecomputa el mayor elemento de una lista de numeros enteros, requiere manejar expresiones deltipo x < y. Esta expresion “predica” una determinada relacion entre x e y, y su verdad o falsedaddepende de los valores de x y de y.

La insuficiencia de la logica clasica proposicional, es decir, su escasa potencia expresiva,requiere el desarrollo de una logica mas amplia que permita considerar validos los razonamientosdel tipo anterior. Necesitamos una logica que permita captar mas detalles del lenguaje natural,que no solo contemple las conexiones “externas” entre los enunciados simples, sino que extiendaa la logica clasica proposicional en dos direcciones:

considere en los enunciados atomicos una determinada estructura interna, la estructurapredicativa, que permita diferenciar “que se predica” (ser estudiante, ser inquieto. . . ), de“que” o “quien” se predica (Luis, . . . ), y

permita expresar que, dado un universo del discurso, una cierta propiedad la satisface unente concreto de dicho universo, o bien la satisfacen todos los entes, o la satisface algunente o no la satisface ningun ente de dicho universo. En definitiva, vamos a estudiar unalogica que permite analizar razonamientos en los que las hipotesis y la conclusion son frasesdel lenguaje natural del mismo tipo que las contempladas en la logica proposicional quehemos estudiado en el primer libro, pero en la que dispondremos de un lenguaje mas ricoque nos permitira expresar la estructura predicativa de dichas frases.

Page 11: Logica Clasica de Predicados Computacional 2014 2015

3

El marco mınimo para dicho proposito lo proporciona la logica conocida como Logica de

Predicados de Primer Orden o, simplemente, como Logica de Primer Orden, a la que de-notaremos por L1.

Wilfred Hodges 1 hace la siguiente reflexion:

. . . la logica de primer orden es hija de varios padres; al menos tres grupos diferentesde pensadores han tenido que ver en su concepcion y con tres motivos muy diferentes:

Los logicos tradicionales desde Aristoteles hasta George Boole (1815-1864) se-guidos, entre otros, por Augustus de Morgan (1806-1871) y Charles S. Peirce(1839-1914). Para ellos el objetivo central fue proporcionar esquemas de razo-namientos validos.

Los teoricos de la demostracion, entre los que hemos de incluir Gottlob Fre-ge (1848-1925), Giuseppe Peano (1858-1932), David Hilbert (1862-1943), Ber-trand Russell (1872-1970), Jacques Herbrand (1908-1931) y Gerhard Gentzen(1909-1945). Para ellos el objetivo fue sistematizar el razonamiento matemati-co de modo que las hipotesis fueran explicitadas y las etapas fueran descritasrigurosamente.

Los centrados en la teorıa de modelos, entre los que cabe destacar Ernest Schroder(1841-1902), Leopold Lowenheim (1878-1957), Thoralf Skolem (1887-1963),Kurt Godel (1906-1978) y Alfred Tarski (1909-1945). Para ellos el objetivo fueestudiar estructuras matematicas desde el punto de vista de las leyes que dichasestructuras obedecen.

Quizas esta mezcla es la causa de su fuerza. Sin embargo, sea cual sea la razon, lalogica de primer orden es la logica moderna mas simple, mas potente y mas aplica-ble. . .

La logica clasica de primer orden juega en la actualidad un papel destacado en las Cienciasde la Computacion por sus aplicaciones en especificacion y verificacion de programas, en larepresentacion del conocimiento en las bases de datos, en Inteligencia Artificial, etc.

Para quien haya leıdo el primer libro en el que estudiamos la logica clasica proposicional, yaconoce de antemano cual sera el guion de este libro: Una vez motivada la necesidad de la logicade primer orden, describiremos su lenguaje, despues su semantica, su teorıa de la demostraciony, finalmente, nuestro objetivo esencial: la posibilidad o no de automatizar el razonamiento.

En este capıtulo presentamos:

el lenguaje de la logica de primer orden y

la semantica de la logica de primer orden.

1W. Hodges. Elementary predicate logic. In D.M. Gabbay and F. Guenthner, editors. Handbook of PhilosophicalLogic, volume 1. Kluwer Academic Press, 1983. Reimpresion en 1994.

Page 12: Logica Clasica de Predicados Computacional 2014 2015

4 CAPITULO 1. LOGICA DE PRIMER ORDEN

1.1. Lenguaje L1 de una Logica de Primer Orden

Recordemos que un lenguaje logico viene dado mediante un alfabeto de sımbolos y la de-finicion de un conjunto de cadenas de sımbolos de dicho alfabeto, llamadas formulas bien

formadas (abreviadamente, fbfs).

La logica de primer orden utiliza una clase de lenguajes que son conocidos como lenguajes

de primer orden, introducidos por Gottlob Frege en 1879. El alfabeto de estos lenguajes dis-pone de sımbolos que permiten:

representar elementos arbitrarios del dominio o universo del discurso, a los que llamaremossımbolos de variables individuales,

representar elementos especıficos del universo del discurso, a los que llamaremos sımbolosde constante,

representar generadores de elementos del universo del discurso (a partir de uno o varioselementos de dicho universo), a los que llamaremos sımbolos de funcion,

expresar que nos referimos a algunos o a todos los elementos del universo del discurso, alos que llamaremos sımbolos de cuantificacion o cuantificadores,

expresar propiedades o relaciones entre los elementos del universo del discurso, a los quellamaremos sımbolos de predicado.

Comenzamos pues introduciendo el alfabeto para un lenguaje de primer orden.

1.1.1. Alfabeto

El alfabeto de un lenguaje de primer orden consta de los siguientes sımbolos:

1. los sımbolos de conectivas de la logica clasica proposicional: ¬,→,∧,∨ y ↔.

2. los sımbolos logicos > y ⊥.

3. los sımbolos de cuantificacion ∀ (universal) y ∃ (existencial).

4. los sımbolos de puntuacion “(” y “)”.

5. un conjunto infinito numerable, V = x, y, z, v, . . . , x1, y1, z1, v1, . . . , xn, yn, zn, vn, . . ., desımbolos de variables individuales.

6. un conjunto numerable (posiblemente vacıo), C, de sımbolos de constante.

7. un conjunto numerable (posiblemente vacıo), F , de sımbolos de funcion y una funcionar

f: F −→ N que asigna a cada sımbolo de funcion un elemento de N∗ llamado su aridad

y que representa el numero de argumentos.

8. un conjunto numerable y no vacıo, P, de sımbolos de predicado y una funcionarp : P −→ N que asigna a cada sımbolo de predicado un elemento de N∗ llamado suaridad y que representa el numero de argumentos.

Page 13: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 5

Los sımbolos referidos en los ıtems 1, 2, 3, 4 y 5 son comunes a todos los lenguajes de primerorden. Por su parte, la eleccion de los conjuntos C, F y P proporciona un lenguaje especıficode primer orden y viene determinada por la aplicacion que se pretende. Supondremos que losconjuntos V, C,F y P son disjuntos dos a dos.

Los sımbolos de predicado de aridad 1, se denominan propiedades y los sımbolos de predi-cado de aridad mayor que 1 se denominan relaciones.eer r Consideraremos que la aridad, tanto de los sımbolos de predicados como de los sımbolos de

funcion, es mayor o igual que 1. Podemos hablar ası de:

predicados monadicos o monarios o de aridad 1 (como “ser ave”, “ser cuadrado”, “serpar”, “ser actriz”)

predicados poliadicos o de aridad> 1. Por ejemplo, “ser tıo de” (binario); “estar sentadoentre – y – ” (ternario); “ser dueno de –, – y . . . ” – (de aridad 4), etc.

Del mismo modo, consideraremos los sımbolos de funcion monarios o de aridad 1 (por ejem-plo, “la madre de”, “el doble de”, “el lugar de nacimiento de”) y poliadicos o de aridad > 1(como el predicado binario “la suma de – y –”; el predicado ternario “el dueno de –, – y –”, etc).

Definicion 1.1 La signatura, Σ, de un lenguaje de primer orden se define por

Σ = C ∪ F ∪ Pes decir, recoge los sımbolos especıficos del lenguaje.

Hablaremos pues de un lenguaje de primer orden sobre la signatura Σ y lo denotaremosL1(Σ) (o bien L1(C,F ,P)).

En definitiva, el alfabeto de una logica de primer orden con signatura Σ es

aΣ = Σ ∪ V ∪ ¬,∧,∨,→,↔, ∀, ∃, , , (, )Habitualmente, usaremos como sımbolos:

las primeras letras del alfabeto a, b, c, . . . (posiblemente subindizadas) para representar lossımbolos de constantes.

las ultimas letras del alfabeto x, y, z, . . . (posiblemente subindizadas) para representar lossımbolos de variables.

las letras f, g, h, . . . (posiblemente subindizadas) para representar los sımbolos de funcion.

las letras P,Q,R, . . . (posiblemente subindizadas) para representar los sımbolos de predi-cado.

eer r Usando la terminologıa de los lenguajes de programacion, podemos pensar en

- las conectivas, como conjunto de instrucciones,

- los cuantificadores, como “llamadas a procedimientos”.

- los sımbolos de constantes, como constantes.

- los sımbolos de variables, como parametros formales,

- los terminos en los que intervienen sımbolos de funcion, como estructuras de datos,

- los sımbolos de predicados, como procedimientos.

Page 14: Logica Clasica de Predicados Computacional 2014 2015

6 CAPITULO 1. LOGICA DE PRIMER ORDEN

1.1.2. Terminos y Formulas Bien Formadas

La mayor complejidad (respecto al caso proposicional) de la logica que deseamos definir,comienza a hacerse patente en los pasos requeridos para la descripcion del conjunto de formulasbien formadas. Para definir el conjunto de cadenas de sımbolos del alfabeto que definen unlenguaje de primer orden, necesitamos introducir la nocion de atomo. Esto es ası porque, adiferencia del caso proposicional, el alfabeto no incluye sımbolos proposicionales que representenaisladamente a los atomos.

Como ya hemos indicado, los atomos deseados han de tener una estructura que permitaespecificar de modo que se pueda discernir “que ” se predica y de “que ” se predica.

Si analizamos el alfabeto, el conjunto de sımbolos de predicado, P, nos proporciona el pri-mer objetivo. Sin embargo, todos los sımbolos en V, C y F estan destinados a intervenir en larepresentacion de elementos del universo del discurso sobre los que se “predica”. Necesitamospues describir que cadenas de sımbolos representan tales elementos del universo del discurso.Para ello introducimos la nocion de termino.

Terminos:

Definicion 1.2 Sea a un alfabeto para la logica de primer orden y a? el conjunto de las cadenassobre a, es decir, el lenguaje universal sobre a.

Para cada sımbolo f ∈ F de aridad n, definimos la funcion Cf : (a∗)n −→ a∗ como sigue:

Cf (λ1, . . . , λn) = f(λ1, . . . , λn)

El conjunto de los terminos sobre a es la clausura inductiva del conjunto V ∪ C para elconjunto de constructores Cf | f ∈ F. Denotaremos el conjunto de terminos por Term.

Habitualmente, el conjunto de los terminos se presenta, mas informalmente, de la manerasiguiente: Los terminos sobre a son los elementos de a∗ determinados por las siguientes reglas:

1. Las variables y los sımbolos de constantes son terminos.

2. Si f es un sımbolo de funcion n-aria y t1, . . . , tn son terminos, entonces f(t1, . . . , tn) es untermino.

3. Solo las cadenas obtenidas aplicando las reglas 1 y 2 son terminos.

Definicion 1.3 Los terminos en los que no ocurren variables se llaman terminos basicos.

Ejemplo 1.1 Si f es un sımbolo de funcion monaria (es decir, de aridad 1) y g es un sımbolode funcion binaria (es decir, de aridad 2) entonces, las expresiones

f(g(a, x)); g(f(x), g(x, y)) y g(a, g(a, g(a, f(b))))

son terminos. El tercero de ellos es un termino basico.

Las expresiones h(x, l(y, ) y h(l(y)), donde h es un sımbolo de funcion binaria y l un sımbolode funcion monaria no son terminos.

Page 15: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 7

eer r Los terminos son las cadenas de sımbolos del alfabeto que representan los “individuos”o “entes” a los que nos referimos en las frases del lenguaje natural (tanto simples, comogenerados por algun procedimiento). Por la tanto, no les asignaremos valores de verdad ofalsedad, sino que “predicaremos” sobre ellos, afirmaremos que estan o no relacionadas deun modo determinado.

Los predicados se aplican sobre los terminos para formar las formulas atomicas.

Definicion 1.4 Los atomos o formulas atomicas son los elementos de a? de la forma

P (t1, . . . , tn)

donde P es un sımbolo de predicado n-ario y t1, . . . , tn son terminos. Denotaremos por Atom elconjunto de atomos. Los atomos son las fbfs mas simples del lenguaje L1. 2

Definicion 1.5 Los atomos en los que no intervienen variables se llaman atomos basicos y sonlas expresiones mas sencillas del lenguaje que son interpretables como aserciones (afirmamos quelos objetos en una n-upla estan relacionados en la forma expresada por el sımbolo de predicadon-ario).

Tenemos ya todo lo necesario para definir el conjunto de fbfs, esto es, el lenguaje. Loscuantificadores y los conectivos permitiran obtener fbfs complejas a partir de los atomos (demodo similar al caso proposicional).

Formulas bien formadas

Dado un sımbolo de variable x, se definen las funciones

Ux, Ex : a∗ −→ a∗

del siguiente modo:

Ux(A) = (∀x)A y Ex(A) = (∃x)A

Definicion 1.6 El conjunto de las formulas bien formadas o elementos del lenguaje de primerorden L1(C,F ,P) es la clausura inductiva de Atom ∪ >,⊥ para el conjunto de constructores

C¬, C∧, C∨, C→, C↔ ∪ Ux, Ex | x ∈ V

De manera menos formal, podemos describir el conjunto de las fbfs, como el conjunto de loselementos de a∗ determinados por las siguientes reglas:

1. > y ⊥ son fbfs.

2. Las formulas atomicas son fbfs.

3. Si A y B son fbfs, ¬A, (A ∨B), (A ∧B), (A→ B) y (A↔ B) son fbfs.

4. Si A es una fbf y x es un sımbolo de variable, (∀x)A y (∃x)A son fbfs.

2De ahı el adjetivo de “atomica”.

Page 16: Logica Clasica de Predicados Computacional 2014 2015

8 CAPITULO 1. LOGICA DE PRIMER ORDEN

5. Solo las cadenas obtenidas aplicando las reglas 1, 2, 3 y 4 son fbfs.

Como en el lenguaje de la logica proposicional, usaremos el convenio de omitir en toda fbf losparentesis inicial y final.

Definicion 1.7 Dado un conjunto Ω de fbfs, la signatura de Ω es el conjunto ΣΩ = CΩ∪FΩ∪PΩ

donde CΩ es el conjunto de sımbolos de constantes que intervienen en Ω, FΩ es el conjunto desımbolos de funcion que intervienen en Ω y PΩ es el conjunto de sımbolos de predicados queintervienen en Ω.

Notacion: En todo lo que sigue usaremos el sımbolo Q para representar un sımbolo de cuan-tificacion, es decir, un elemento del conjunto ∀,∃.

Diremos que ∀ y ∃ son sımbolos duales de cuantificacion y usaremos Q para indicar el dualde Q, es decir, ∀ = ∃ y ∃ = ∀.eer r Advirtamos que despues de un sımbolo de cuantificacion solo esta permitido un sımbolo

de variable y que los argumentos de un sımbolo de predicado han de ser terminos. Estoshechos caracterizan a los lenguajes de primer orden, diferenciandolos de los lenguajes deorden superior. En un lenguaje de primer orden:

solo se dispone de variables de individuos.

no se puede cuantificar sobre sımbolos de funcion ni sobre sımbolos de predicado.

solo se puede “predicar” sobre individuos.

En un lenguaje de segundo orden, existe un conjunto infinito numerable de sımbolos devariables de predicado y tambien sımbolos de cuantificacion universal y existencial sobreestas variables. Esto da al lenguaje de segundo orden mayor potencia expresiva; por ejemplo,la igualdad es definible por la siguiente formula debida a Leibnitz

(∀x)(∀y) [(x = y)↔ (∀P )(P (x)→ P (y)) ]

donde, para mayor legibilidad, nos hemos permitido usar el sımbolo de predicado binario“=” con notacion infija, tal como es utilizado habitualmente.

Ejemplo 1.2

1. (∀x)(∀y)(R(x, y) ↔ R(y, x)) es una fbf que expresa que el sımbolo R representa unarelacion simetrica.

2. (∃x)¬R(x, x) es una fbf que expresa que el sımbolo R representa una relacion no reflexiva.

3. (∀x)(∃y)R(x, y) es una fbf que expresa que el sımbolo R representa una relacion total.

Ejemplo 1.3

1. El enunciado “Todos los alumnos de esta clase tienen mas de 18 anos” puede ser expresadoen L1 por: (∀x)

(C(x) → M(x)

), donde C(α) simboliza “α es alumno de esta clase” y

M(α) simboliza “α tiene mas de 18 anos”. 3

3Advirtamos que, como estamos acostumbrados de nuestro estudio de la logica clasica proposicional, α y βson metavariables que se refieren a terminos cualesquiera.

Page 17: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 9

2. El enunciado “No todas las aves pueden volar” puede ser formalizado en L1 por:

¬(∀x)(A(x)→ V (x)

)donde A(α) simboliza “α es un ave” y V (α) simboliza “α puede volar”.

3. El enunciado “Hay alumnos de esta clase que tienen mas de 24 anos” puede ser formalizadoen L1 por: (∃x)

(C(x)∧E(x)

), donde C(α) simboliza “α es alumno de esta clase” y E(α)

simboliza “α tiene mas de 24 anos”.

4. El razonamiento:

Todo estudiante es inquieto.

Luis es un estudiante.

Por lo tanto, Luis es inquieto.

puede ser formalizado en L1 por :

(∀x)(E(x)→ I(x)

)E(a)

I(a)

donde E(α) simboliza “α es un estudiante”, I(α) simboliza “α es inquieto” y el sımbolode constante a simboliza “Luis”.

5. El razonamiento:

El sucesor de todo natural par es impar.

6 es un natural par.

Por lo tanto, el sucesor de 6 es impar.

puede ser formalizado en L1 por:

(∀x)(

(N(x) ∧ P (x))→ I(s(x)))

N(a) ∧ P (a)

I(s(a))

donde N(α) simboliza “α es natural”, P (α) simboliza “α es par”, I(α) simboliza “α esimpar”, s simboliza la funcion sucesor en N y a simboliza el numero “6”.

6. El razonamiento:

Hay quien, aun siendo coherente, solo se preocupa por sus propios problemas.

Todo el mundo se preocupa por las cuestiones del medio ambiente, a menos que seaun irresponsable.

Toda persona coherente es responsable.

Page 18: Logica Clasica de Predicados Computacional 2014 2015

10 CAPITULO 1. LOGICA DE PRIMER ORDEN

Por lo tanto, hay quien es coherente y toma como propio el problema del medioambiente.

puede ser formalizado en L1 por:

(∃x)(C(x) ∧ (∀y)(Q(x, y)→ P (y, x)

)(∀x)

(R(x)→ Q(x, a)

)(∀x)

(C(x)→ R(x)

)(∃x)

(C(x) ∧ P (a, x)

)donde C(α) formaliza “α es coherente”, Q(α, β) formaliza “α se preocupa por β”, P (α, β)formaliza “α es un problema para β”, R(α) formaliza “α es responsable y a formaliza“Cuestiones del medio ambiente”.

Una utilidad importante de la logica de primer orden aparece en la especificacion formal deun trozo de codigo. La especificacion se da escribiendo las condiciones que han de verificarseantes (precondiciones) y despues (postcondiciones) de la ejecucion del codigo. Un lenguaje deprogramacion es un lenguaje de especificacion ejecutable. El codigo de un programa especificasu comportamiento y puede ser ejecutado sobre un computador.

El uso de un formalismo como la logica de primer orden, asegura una definicion rigurosade las pre y post-condiciones de un programa y facilita tareas tales como la descripcion de lasemantica de un lenguaje de programacion o el comportamiento funcional de un procedimientoo programa. Si un programa puede ser especificado mediante un lenguaje como el de la logica deprimer orden, su comportamiento externo como “caja negra” es mas claro, ya que su descripcionpermite la diferenciacion entre los detalles de implementacion y los algoritmos y, en consecuencia,facilita la tarea de verificar si el codigo ejecuta de acuerdo con su especificacion.

Como comentaremos en el ultimo capıtulo, existen subconjuntos de la logica de primer ordenque son ejecutables y han dado lugar a lenguajes de programacion llamados lenguajes de

programacion logicos.

Si consideramos el programa

potencia ≥ 0a := 1;for i := 1 to potencia do a := a∗ base;respuesta := a

una especificacion de este programa mediante la Logica de primer orden es la siguiente:

(∀ base)(∀ potencia)((potencia ≥ 0)→ (respuesta = base× potencia))donde hemos utilizado sımbolos especıficos de C, P y F respectivamente, para la constante“cero”, para los predicados “igual” y “mayor o igual que” y para la funcion aritmetica “×” 4 yhemos permitido las cadenas “potencia” y “base” como elementos de V.

Una vez definido el conjunto de terminos y el lenguaje de la logica de primer orden comoclausuras inductivas, podemos, tal como explicamos en el libro de logica proposicional, utilizarel principio de induccion estructural para verificar propiedades sobre tales conjuntos.

4Estos ultimos utilizados en notacion infija en lugar de notacion prefija

Page 19: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 11

Principio de induccion estructural: Sea L1(Σ) un lenguaje de primer orden.

Todos los terminos de L1(Σ) tienen la propiedad P con tal de que se cumpla:

1. Toda constante o variable tiene la propiedad P.

2. Si los terminos t1, . . . , tn tienen la propiedad P y f ∈ F es de aridad n, entoncesf(t1, . . . , tn) tiene la propiedad P.

Todas las fbfs de L1(Σ) tienen la propiedad P con tal de que se cumpla:

1. Todos los atomos tienen la propiedad P.

2. Si A tiene la propiedad P, entonces ¬A tiene la propiedad P.

3. Si A y B tienen la propiedad P, entonces A ∗ B ,con ∗ ∈ ∧,∨,→,↔, tiene lapropiedad P.

4. Si A tiene la propiedad P y x ∈ Var, entonces (Qx)A tiene la propiedad P.

Induccion sobre el grado

Del mismo modo, podemos realizar la induccion sobre el grado de un termino o fbf.

Definicion 1.8 Sea t un termino. El grado de t, denotado gr(t), viene dado como sigue:

1. gr(t) = 0, si t es una variable o una constante.

2. gr(t) = 1 + gr(t1) + . . .+ gr(tn), si t es de la forma f(t1, . . . , tn)

El grado de una fbf consiste en el numero de operadores logicos que intervienen en ella:

Definicion 1.9 Denotemos el grado de una fbf, A, mediante gr(A). Entonces definimos:

1. gr(A) = 0, si A es un atomo

2. gr(¬A) = 1 + gr(A)

3. gr(A B) = 1 + gr(A) + gr(B)

4. gr((Qx)A) = 1 + gr(A)

Consideremos un lenguaje de primer orden L1(Σ). Entonces:

Todos los terminos de L1(Σ) tienen la propiedad P con tal de que se cumpla:

1. Toda constante o variable tiene la propiedad P.

2. Si todo termino de grado menor que f(t1, . . . , tn) tiene la propiedad P, entoncesf(t1, . . . , tn) tiene la propiedad P.

Todas las fbfs de L1(Σ) tienen la propiedad P con tal de que se cumpla:

1. Todos los atomos tienen la propiedad P.

Page 20: Logica Clasica de Predicados Computacional 2014 2015

12 CAPITULO 1. LOGICA DE PRIMER ORDEN

2. Si todas las fbfs de grado menor que A tienen la propiedad P, entonces ¬A tiene lapropiedad P.

3. Si todas las fbfs de grado menor que A∗B, con ∗ ∈ ∧,∨,→,↔, tienen la propiedadP, entonces A ∗B tiene la propiedad P.

4. Si todas las fbfs de menor grado que (Qx)A tienen la propiedad P, entonces (Qx)Atiene la propiedad P.

Una vez definido que entendemos por un lenguaje de primer orden estamos interesados, comoen el caso proposicional, en introducir la nocion de subformula de una fbf.

Definicion 1.10 En esta definicion usaremos de nuevo el sımbolo “∗” para representar unconectivo booleano binario arbitrario, es decir, ∗ ∈ ∨,∧,→,↔.La funcion subformula, que asigna a cada fbf A el conjunto de todas sus subformulas, sub(A),se define recursivamente como sigue:

Sub(A) = A si A es un atomo

Sub(¬A) = Sub(A) ∪ ¬ASub(A ∗B) = Sub(A) ∪ Sub(B) ∪ A ∗BSub((Qx)A) = Sub(A) ∪ (Qx)A

Ejemplo 1.4

Sub[

(∃x)(R(x)→ (∀y)¬T (x, y) )]

=

((∃x)(R(x)→ (∀y)¬T (x, y)), R(x)→ (∀y)¬T (x, y), R(x), (∀y)¬T (x, y), ¬T (x, y), T (x, y)

1.1.3. Arbol Sintactico

Definicion 1.11 El arbol sintactico para una fbf, A, de L1, denotado TA, es el a-arbol,donde a es el alfabeto para L1, definido recursivamente como sigue:

1. TA es A, si A es un atomo

2. T¬A es TA

¬

3. TA∗B (donde ∗ ∈ ∧,∨,→,↔) es TA TB

∗@@

4. TQxA es TA

Qx

Ejemplo 1.5 El arbol sintactico de la fbf

(∃x)(R(x)→ (∀y)¬T (x, y)

)∧ ¬(∃z)

((∀u)P (u, z)→ (∀v)Q(v, z)

)

Page 21: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 13

es

R(x)

∀y@@

¬

T (x, y)

→ ∃z

@@

∀u ∀v

P (u, z) Q(v, z)

∃x

¬HH

H∧

Como en el caso proposicional, las subformulas de una fbf quedan caracterizadas en terminosde los subarboles del arbol sintactico de la fbf:

B es una subformula de A si y solo si TB es un subarbol de TA.

1.1.3.1. Notacion

Usaremos las mismas notaciones que en la logica proposicional: A[B] denota que B es unasubformula de A y A[B/C] denota que al menos una ocurrencia de B en A se ha sustituido porla fbf C.

1.1.4. Variables Libres y Variables Ligadas

Definicion 1.12 En toda fbf de la forma (Qx)A, decimos que x es la variable del cuantifica-

dor y que la fbf A es el rango del cuantificador (o de la variable cuantificada). Es decir, elrango de un cuantificador (Qx) es la fbf a la que se aplica.

eer r Observese que la definicion dada no exige que x aparezca en el rango de su cuantificacion.

En terminos del arbol sintactico de una fbf A:

El rango de una ocurrencia del cuantificador (Qx) en una fbf A, es la subformula cuyoarbol sintactico tiene como raız el nodo sucesor del nodo en TA cuya etiqueta es dichaocurrencia de Qx.

Una subformula B de A ocurre en el rango de una ocurrencia del cuantificador (Qx) si laraız de TB es un descendiente del nodo η en TA tal que la etiqueta de η es dicha ocurrenciade Qx.

Ejemplo 1.6 En la fbf

(∀z) [(∀x) P (x, z)→ (∃y)(Q(z) ∧R(y, z))]

cuyo arbol sintactico es:

Page 22: Logica Clasica de Predicados Computacional 2014 2015

14 CAPITULO 1. LOGICA DE PRIMER ORDEN

P (x, z)

∀x

∀z

Q(z)

∃yHH

H

R(y, z)@@

los rangos de sus cuantificadores son:

P (x, z) para (∀x).

Q(z) ∧R(y, z) para (∃y).

(∀x) P (x, z)→ (∃y) (Q(z) ∧R(y, z)) para (∀z).

La fbf R(y, z) ocurre en el rango de los cuantificadores (∃y) y (∀z).Dada una variable, x, que ocurre en una fbf, A, deseamos distinguir si una determinada

ocurrencia de x esta o no en el rango de un cuantificador (Qx). Para ello introducimos lassiguientes definiciones:

Definicion 1.13 Una ocurrencia de una variable, x, es una ocurrencia ligada si es la variablede un cuantificador o bien si esta en el rango de un cuantificador que la tiene como variable.

Una ocurrencia de una variable, x, es una ocurrencia libre si no es ligada.

Una variable es libre si tiene ocurrencias libres y es ligada si tiene

ocurrencias ligadas.

La nocion de variable libre en una fbf es fundamental para trabajar en los lenguajesde primer orden.

eer r Notese que, dada una fbf, A, una misma variable, x, puede ser libre y ligada a la vez en A.

Ejemplo 1.7

1. En la fbf((∀x)P (x, y, a) ∨Q(b, f(x, c))→ (∃y)(Q(d, y) ∧D(y))

las dos primeras ocurrencias de x son ligadas y la tercera libre, mientras que la variable yes libre en la primera ocurrencia y ligada en las tres restantes.

2. En la fbf(∀x)P (x, y)→ (∃y)(P (x, y) ∧Q(z))

las dos primeras ocurrencias de x son ligadas mientras que la tercera es libre. La primeraocurrencia de la variable y es libre, el resto, son ocurrencias ligadas. La unica aparicion dela variable z es libre.

Page 23: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 15

Podemos definir el conjunto de las variables libres y de las variables ligadas de una fbfrecursivamente como sigue:

Definicion 1.14 El conjunto de variables libres de una fbf A, denotado Vlibre(A) se definerecursivamente como sigue:

1. Vlibre(P (t1, . . . , tn)) = V(t1) ∪ · · · ∪ V(tn), donde V(ti) denota el conjunto de variables queintervienen en el termino ti.

2. Vlibre(¬A) = Vlibre(A).

3. Vlibre(A ∗B) = Vlibre(A) ∪ Vlibre(B), donde (∗ ∈ ∧,∨,→,↔.

4. Vlibre((Qx)A) = Vlibre(A)− x.

Definicion 1.15 El conjunto de variables ligadas de una fbf A, que denotaremos Vligada(A),se define recursivamente como sigue:

1. Vligada(P (t1, . . . , tn)) = ∅.

2. Vligada(¬A) = Vligada(A).

3. Vligada(A ∗B) = Vligada(A) ∪ Vligada(B), donde ∗ ∈ ∧,∨,→,↔.

4. Vligada((Qx)A) = Vligada(A) ∪ x.

Como hemos indicado, para una fbf A, la interseccion de Vlibre(A) y Vligada(A) no necesaria-mente es el conjunto vacıo. Ası, para la fbf

A = ((∀x) P (x, a, z) ∨Q(b, f(x, c))→ (∃y)(C(d, y) ∧D(y))

se tiene que Vlibre(A) = x, z y Vligada(A) = x, y.

Notacion: Para expresar que las variables x1, . . . , xn son libres en la fbf A escribiremosA(x1, . . . , xn). Con esta notacion destacamos que x1, . . . , xn es un subconjunto de Vlibre(A),pero tengase en cuenta que este subconjunto puede ser propio, es decir, la notacion A(x1, . . . , xn)no exige que x1, . . . , xn sean las unicas variables con ocurrencias libres en A, son simplementevariables que queremos destacar.

Definicion 1.16 Una fbf A es cerrada o un enunciado si Vlibre(A) = ∅.

Definicion 1.17 Si Vlibre(A) = x1, . . . , xn, se llama cierre universal de A a la fbf

(∀x1)(∀x2) . . . (∀xn)A(x1, . . . , xn)

Se llama cierre existencial de A a la fbf

(∃x1)(∃x2) . . . (∃x1)A(x1, . . . , xn)

Las variables son sımbolos que representan a elementos arbitrarios del universo de discurso.En el desarrollo de algoritmos, transformaciones, etc. necesitaremos “particularizar” las fbfs aelementos concretos o menos arbitrarios. Esto lo haremos mediante la sustitucion de variables:

Page 24: Logica Clasica de Predicados Computacional 2014 2015

16 CAPITULO 1. LOGICA DE PRIMER ORDEN

1.1.5. Sustitucion de variables

Comenzamos estableciendo que se entiende por renombramiento de una variable ligada.

Definicion 1.18 Sea A una fbf en la que intervienen cuantificadores. Un renombramiento deuna variable x ∈ Vligada(A) es la sustitucion de x (la variable renombrada) tanto en el cuan-tificador que la tiene como variable, como en su rango, por otra variable (llamada la variable

de renombramiento) que no intervenga en dicho rango.

Ejemplo 1.8 Para la fbf

A = ((∀x) P (x, a, z) ∨Q(b, f(x, c))→ (∃y)(C(d, y) ∧D(y))

el renombramiento de x por la variable de renombramiento v, nos proporciona la fbf

A′ = ((∀v)P (v, a, z) ∨Q(b, f(x, c))→ (∃y)(C(d, y) ∧D(y))

eer r Es obvio que el proceso de renombramiento en una fbf, A, tan solo modifica Vligada(A). Elconjunto de las variables libres, Vlibre(A), no se modifica. Ası, en el ejemplo anterior,

Vlibre(A′) = Vlibre(A) = x, z y Vligada(A′) = v, y

Notacion:

1. Sea x una variable y sea t1, t2 terminos. Denotaremos mediante [x/t2]t1 el termino resul-tante de sustituir en el termino t1 las apariciones de la variable x por el termino t2.

2. Sea x ∈ Vlibres(A). La fbf que se obtiene a partir de la fbf A por sustitucion de todaslas ocurrencias libres de la variable x por un termino t, la denotaremos por [x/t]A. Sirepresentamos la fbf A por A(x) para destacar que x tiene ocurrencias libres en A, usaremosla expresion A(t) para representar a [x/t]A.

La definicion inductiva es la siguiente.

Definicion 1.19

- Si t1 ∈ V y t1 = x, entonces [x/t2]t1 = t2.

- Si t1 ∈ V y t1 6= x, entonces [x/t2]t1 = t1.

- Si t1 ∈ C, entonces [x/t2]t1 = t1.

- Si t1 = f(u1, . . . , un), siendo u1, . . . , un terminos cualesquiera, entonces

[x/t2]t1 = f([x/t2]u1, . . . , [x/t2]un)

Definicion 1.20 Si A es una fbf, x un sımbolo de variable y a es un sımbolo de constante,definimos [x/a]A inductivamente como sigue:

Page 25: Logica Clasica de Predicados Computacional 2014 2015

1.1. LENGUAJE L1 DE UNA LOGICA DE PRIMER ORDEN 17

- Si A = P (t1, . . . , tn) es un atomo, entonces [x/a]A = P ([x/a]t1, . . . , [x/a]tn).

- Si A = ¬B, entonces [x/a]A = ¬[x/a]B.

- Si A = B ∗ C, entonces [x/a]A = [x/a]B ∗ [x/a]C (donde ∗ ∈ ∧,∨,→,↔-

- Si A = (Qx)B, entonces [x/a]A = A

- Si A = (Qy)B con y 6= x, entonces [x/a]A = (Qy)[x/a]B

Definicion 1.21 Dada la fbf A(x) y el termino basico (sin variables), t, a la fbf [x/t]A(x) ladenominamos una instancia basica de A(x). El mecanismo de sustituir una variable ligadapor un termino basico se denomina “instanciacion”. 5

eer r El comportamiento de una variable cuantificada es analogo al de una declaracion de variablelocal en un procedimiento Pascal y, como tal, no se ve afectada por las asignaciones.

En la practica, desearemos obtener una fbf, B, a partir de otra fbf, A, mediante la sustitucionen A de variables por terminos y de modo que el significado de A y B sea el mismo. Aun nohemos descrito la semantica para los lenguajes de primer orden, pero aun ası, no dudamos enafirmar que si sustituimos en la fbf

A = (∀x)(P (x)→ Q(y))

la variable y por la variable x, la fbf obtenida

B = (∀x)(P (x)→ Q(x))

tiene un significado diferente al de A. Mas en general, si sustituimos la variable y, por ejemplo,por el termino f(x, z), obtenemos la fbf

B = (∀x)(P (x)→ Q(f(x, z)))

en la que existe una interaccion entre el cuantificador (∀x) y su rango, que no existıa en A. Porlo tanto, si deseamos no alterar el significado de las fbfs, el mecanismo general para sustituiruna variable por un termino, requiere ciertas precauciones que nos aseguren que sustituimosocurrencias libres en A por “terminos libres” en A. En definitiva, como tendremos ocasion decomprobar cuando estudiemos la semantica, para evitar este hecho conocido en la bibliografıacomo conflicto de variables,6 requerimos la siguiente definicion:

Definicion 1.22 Sea A una fbf, x ∈ Vlibre(A) y t un termino tal que V(t) = x1, . . . , xn. Sedice que el termino t es libre para x en A (o bien que x es sustituible por t en A) si,para toda variable xi ∈ V(t), se tiene que ninguna ocurrencia libre de x en A esta en el rangode una ocurrencia en A del cuantificador (Qxi). Es decir, las ocurrencias de xi surgidas comoconsecuencia de la sustitucion de x por t, son ocurrencias libres en A(t).

5Somos conscientes de que esta denominacion es desafortunada, quizas deberıamos haber optado por “concre-cion” en lugar de “instanciacion”. La decision final ha venido condicionada por el uso habitual que se hace deesta expresion.

6Variable clash en la bibliografıa inglesa.

Page 26: Logica Clasica de Predicados Computacional 2014 2015

18 CAPITULO 1. LOGICA DE PRIMER ORDEN

eer r Como consecuencia inmediata de la definicion, tenemos que:

Un termino basico es libre para cualquier variable en cualquier fbf.

Dado un termino t, si V(t)∩Vligada(A) = ∅, entonces t es libre para toda variable librede A.

Ejemplo 1.9

1. y es libre para x en P (x, a).

2. y no es libre para x en (∀y)P (x, y).

3. En la fbf (∀y)P (x, y) → (∃x)Q(x, z, a), el termino f(a, y) no es libre para x, pero sı eslibre para z.

La siguiente definicion, establece como obtener [x/t]A, diferenciando los casos en que eltermino t es o no libre para la variable x en A(x).

Definicion 1.23

Si t es libre para x en A(x), la sustitucion en A de x por t consiste en sustituir en A lasocurrencias libres de x por t.

Si t no es libre para x en A(x) y V(t) = x1, . . . , xn, la sustitucion en A de x por tconsiste en los dos pasos siguientes:

1. renombrar en A las variables xi tales que x ocurre en el rango de (Qxi) por unavariable de renombramiento que no ocurra en t.

2. sustituir en A las ocurrencias libres de x por t.

Ejemplo 1.10 Dada la fbf

(∀z)(P (x)→ (∃x)Q(x, z)

)∨ (∃y)D(x, y)

El termino f(a, y, z) no es libre para x. Para realizar la sustitucion de x por el termino f(a, y, z)podemos proceder como sigue:

1. Como x ocurre libre en el rango de (∀z) y (∃y), renombramos la variable y y la variablez, por ejemplo, por v y u respectivamente (que no ocurren en f(a, y, z)), obteniendo

(∀u)(P (x)→ (∃x)Q(x, u)) ∨ (∃v)D(x, v)

2. En segundo lugar, sustituimos las ocurrencias libres de x en A por f(a, y, z). Obtenemosası la fbf:

(∀u)(P (f(a, y, z))→ (∃x)Q(x, u)) ∨ (∃v)D(f(a, y, z), v)

Page 27: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 19

eer r Las variables tienen en logica un papel analogo al que tienen en analisis o en algebra. Veamosalgunos ejemplos:

− En la funcion descrita por f(x) = x + 6, la variable x no designa un objeto, sino elemplazamiento de un objeto, el lugar del cuerpo de la funcion en el que ha de colocarse unargumento para evaluar la funcion. La variable x esta ligada. Mas concretamente, la primeraocurrencia de x crea una ligadura, a la que se enganchan las demas ocurrencias de x. No hayinconveniente alguno en renombrar x, es decir, reemplazar las dos ocurrencias de x por y:f(y) = y + 6. Pero obviamente, no esta permitido reemplazar una ocurrencia solamente:

f(x) = y + 6; f(y) = x+ 6

− En la expresion⋃k=8k=1A

ki , la variable i es una variable libre y k es una variable ligada.

Se puede por lo tanto renombrar k, por ejemplo, por j sin alterar su significado, pero nopodemos renombrar k por i.

− Si consideramos la formula para evaluar una integral doble segun el teorema de Fubini∫ b

a

(∫ h(y)

g(y)

f(x, y)dx

)dy.

en la expresion entre parentesis todas las ocurrencias de x estan ligadas (por la ligadura dx),sin embargo las de y son ocurrencias libres, en el sentido de que no han de ser evaluadas enla primera etapa.

Claramente, no es posible sustituir “arbitrariamente” en la expresion entre parentesis lasvariables libres por otras. Por ejemplo, las expresiones∫ b

a

(∫ h(z)

g(z)

f(x, z)dx

)dy

∫ b

a

(∫ h(y)

g(y)

f(x, y)dx

)dy

no tiene el mismo significado.

Para terminar este apartado, consideremos la fbf

(∀x)(P (x, a)→ (∃x)R(x))

en ella existe un cuantificador (Qx) en el rango de un cuantificador (Q′x), es decir, existe unanidamiento de cuantificadores con la misma variable de cuantificacion. Es posible (y deseable,como posteriormente nos confirmara la semantica) evitar la situacion anterior restringiendo laregla que permite construir fbfs cuantificadas del siguiente modo:

Definicion 1.24 Si x es una variable y A es una fbf sin ocurrencias ligadas de x, entonces(∀x)A y (∃x)A son fbfs.

1.2. Semantica para los Lenguajes de Primer Orden

Como ya conocemos, la semantica de un lenguaje tiene como fin dar significado a las fbfs dellenguaje a partir de su estructura sintactica y establecer la nocion (semantica) de deduccion. Enconsecuencia, como senalamos al estudiar la Logica Clasica Proposicional, una mayor compleji-dad del lenguaje implica una estructura mas compleja de los modelos. Ası pues, dar significadoa las fbfs de un lenguaje de primer orden conlleva una mayor dificultad que la requerida en el

Page 28: Logica Clasica de Predicados Computacional 2014 2015

20 CAPITULO 1. LOGICA DE PRIMER ORDEN

caso proposicional, en el que una interpretacion queda determinada sin mas que asignar uno delos valores de verdad 0, 1 a cada sımbolo proposicional.

Como ya sabemos, definir la semantica requiere definir una terna (S,D, I), donde S es elconjunto de valores semanticos, D ⊆ S es el conjunto de valores semanticos destacados e I elconjunto de interpretaciones.

La logica de primer orden, como la logica proposicional, es bivaluada, es decir S = 0, 1 y elconjunto de valores semanticos destacado es igualmente 1. La mayor dificultad la encontramosen la tarea de definir el conjunto de interpretaciones, I, es decir, en la definicion de interpretacion,en como establecer cuando una fbf es verdadera o falsa.

Puesto que el lenguaje nos permite detallar de que o quien afirmamos, que afirmamos y si afir-mamos sobre todos los entes/individuos o de alguno (concreto o arbitrario), necesitamos en pri-mer lugar fijar un dominio o universo del discurso, U , que determine sobre que entes/individuosafirmamos y, elegido este,

1. asignar elementos especıficos de U a los sımbolos de constantes,

2. asignar funciones n-arias sobre U a los sımbolos de funcion n-arios y

3. asignar relaciones n-arias sobre U a los sımbolos de predicados n-arios.

Por otra parte, si la fbf contiene variables libres, debemos especificar que valores del dominiorepresentan. Ası, dada la fbf (∀x)P (x), si consideramos U = N y asignamos a P el significado“es par”, podemos asegurar que la fbf es falsa en esta interpretacion. Pero nada podemos afirmarsobre la fbf P (x) si no nos pronunciamos sobre el numero natural representado por x.

Analogamente, podemos pensar en una interpretacion en la que la formula 2 + 3 = 5 esverdadera,7 pero no podremos pronunciarnos sobre la verdad o no de la formula x+ 3 = 4 si nosabemos el numero representado por x.

Ocurre como en un procedimiento con parametros en un programa PASCAL, el procedimiento

procedure P (X : integer ; Y : integer)

no puede computarse salvo que sea llamado con parametros actuales, por ejemplo P (10, 35).

Deseamos, pues, disponer de un concepto de interpretacion que nos permita:

asignar a toda fbf cerrada o enunciado (es decir, a una fbf sin variables libres) el valor deverdad 0 o 1,

contemplar una fbf con variables libres como una afirmacion sobre el dominio, que esverdadera o falsa dependiendo de la asignacion realizada a las variables libres.

7En estos ejemplos hemos escrito 2 + 3 = 5 en lugar de = (+(2, 3), 5) permitiendonos la licencia de usarnotacion infija para los predicados y funciones. Nos tomaremos esta libertad cuando consideremos que aumentala legibilidad.

Page 29: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 21

1.2.1. Semantica de Tarski

La semantica que vamos a exponer fue dada por Alfred Tarski en 1936. 8

De acuerdo con las consideraciones anteriores, el concepto de interpretacion para un lenguajede primer orden se introduce como sigue:

Definicion 1.25 Una interpretacion para un lenguaje de primer orden es un par (U, I)donde:

U es un conjunto no vacıo llamado dominio o universo.

I es una aplicacion, que asocia:

• A cada sımbolo de constante a un elemento I(a) ∈ U .

• A cada sımbolo de predicado n-ario, P , una relacion n-aria sobre U , es decir, elsubconjunto I(P ) ⊆ Un. 9

• A cada sımbolo de funcion n-aria, f , una funcion n-aria sobre U , es decir,

I(f) : Un −→ U

eer r Tenemos ya elementos suficientes para darnos cuenta de la complejidad de la semantica queestamos definiendo.

Imaginemos una situacion muy simple, por ejemplo que nuestro lenguaje no tiene ni sımbolosde constantes ni sımbolos de funcion, que tan solo tiene un sımbolo de predicado monario Py dos sımbolos de predicados binarios, Q y R, e imaginemos que consideramos un dominiosencillo, tan solo con 4 elementos U = u1, u2, u3, u4 ¿de cuantas interpretaciones I podemosdisponer? Tenemos 24 posibles interpretaciones posibles para P (es decir, el numero deelementos de P(U)) y nada menos que 216 posibles interpretaciones para cada uno de lospredicados binarios Q y R (es decir, el numero de elementos de P(U × U)).

A veces hablaremos de (U, I) como una “interpretacion sobre el dominio U”.

Dada una interpretacion (U, I), al cardinal de U se denomina cardinal de la interpreta-

cion.

Dada una interpretacion (U, I), disponemos de la interpretacion para cada uno de los ele-mentos de la signatura. Ahora tenemos que preocuparnos de las variables, las cuales tendran elsignificado esperado, es decir, las variables representan elementos cualesquiera del dominio. Estesignificado se recoge mediante la nocion de valuacion de variables:

Definicion 1.26 Una valuacion o asignacion de variables (o un entorno), ξ, asociada auna interpretacion (U, I) es una aplicacion del conjunto de variables V en el dominio U .

ξ : V −→ U

8A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261–405, 1936.9Ası, a cada sımbolo de predicado monario deberemos asociarle un subconjunto de U , a cada sımbolo de

predicado binario deberemos asociarle un conjunto de pares de elementos de U (es decir subconjunto de U × U),. . . a cada sımbolo de predicado n-ario un conjunto de n-tuplas (u1, . . . , un) de elementos de U (es decir subconjuntode Un.

Page 30: Logica Clasica de Predicados Computacional 2014 2015

22 CAPITULO 1. LOGICA DE PRIMER ORDEN

eer r En la semantica de los lenguajes de programacion, una valuacion de variables representa unestado de la memoria.

Si ya podemos interpretar los elementos de la signatura y de las variables, ya podemos darsignificado a los terminos, como recoge la definicion siguiente.

Definicion 1.27 Dada una interpretacion (U, I) y una valuacion de variables ξ asociada a ella,definimos recursivamente una aplicacion Iξ, llamada funcion de significado, que asigna acada termino t un elemento Iξ(t) ∈ U como sigue:

1. Iξ(c) = I(c) para todo sımbolo de constante c.

2. Iξ(x) = ξ(x) para toda variable x.

3. Iξ(f(t1, . . . , tn)) = I(f)(Iξ(t1), . . . , Iξ(tn)).

eer r Observese que si un termino t es basico (sin variables), el significado en U asignado a t poruna funcion de significado Iξ no depende del entorno ξ. Ası, por ejemplo, si g es un sımbolode funcion monaria y a es un sımbolo de constante, Iξ(f(a)) = I(f)(I(a)). En adelante, porabuso de notacion, si t es un termino basico escribiremos I(t) en lugar de Iξ(t). Ası pues,escribiremos I(f(a)) en lugar de Iξ(f(a)).

Ahora, nuestro objetivo es introducir las nociones de satisfacibilidad y de validez. Para ellorequerimos previamente conocer el valor de verdad asignado por una funcion de valuacion a unafbf.

Definicion 1.28 Dada una interpretacion (U, I) y una valuacion de variables ξ asociada a(U, I), definimos el valor de verdad de un atomo como sigue: Iξ(⊥) = 0, Iξ(>) = 1 y

Iξ(P (t1, . . . , tn)) = 1 si y solo si (Iξ(t1), . . . , Iξ(tn)) ∈ I(P )

Es decir, Iξ(P (t1, . . . , tn)) = 1 si la n-upla (Iξ(t1), . . . , Iξ(tn)) de elementos de U estan en larelacion I(P ) (es decir, en la relacion n-aria en U que I asocia a P ).

Esta definicion se extiende recursivamente a las fbfs cuya conectiva principal es booleana delsiguiente modo:

Iξ(¬A) = 1 si y solo si Iξ(A) = 0, es decir, Iξ(¬A) = 1− Iξ(A)

Iξ(A∧B) = 1 si y solo si Iξ(A) = 1 y Iξ(B) = 1, es decir, Iξ(A∧B) = mınIξ(A), Iξ(B)

Iξ(A∨B) = 1 si y solo si Iξ(A) = 1 o Iξ(B) = 1, es decir, Iξ(A∨B) = maxIξ(A), Iξ(B)

Iξ(A→ B) = 1 si y solo si Iξ(A) = 0 o Iξ(B) = 1, es decir,

Iξ(A→ B) = max1− Iξ(A), Iξ(B)

Para terminar la tarea, debemos extender la definicion para las fbfs (∀x)A y (∃x)A. Estorequiere una definicion previa, para destacar que la situacion en la cual, cuando contemplamosdos valuaciones de variables, tan solo estamos interesados en la asignacion de valores de talesdos valuaciones a una variable concreta.

Page 31: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 23

Definicion 1.29 Sea x ∈ V. Dos valuaciones de variables ξ y ξ′ se dicen x-equivalentessi ξ′(y) = ξ(y) para toda variable y 6= x.

Obviamente, dado un sımbolo de variable x, la relacion de x-equivalencia es una relacion deequivalencia en el conjunto de valuaciones de variables.

Definicion 1.30

Iξ( (∀x)A ) = 1 si y solo si Iξ′(A) = 1 para toda valuacion de variables ξ′ que sea x-equivalente a ξ, es decir,

Iξ( (∀x)A ) = infIξ′(A) | ξ′ es x-equivalente a ξ

Iξ( (∃x)A) = 1 si y solo si Iξ′(A) = 1 para alguna valuacion de variables ξ′que sea x-equivalente a ξ, es decir,

Iξ( ((∃x)A ) = supIξ′(A) | ξ′ es x-equivalente a ξ

eer r En la seccion anterior, hemos analizado el proceso “sintactico” de sustitucion de una variablepor un termino en una fbf. ¿que relacion existe entre el significado de una fbf y el significadode la fbf obtenida tras este proceso? Como indicamos allı, en las aplicaciones nos intere-sara preservar el significado. Por ejemplo, al sustituir x por f(y) en P (x, a) procuramos queel objeto que asignamos a la variable x y al termino f(y) sea el mismo. Tenemos al respectoel siguiente resultado, cuya demostracion se deja al lector:

Teorema 1.1 (Teorema de sustitucion)

1. Iξ([x/t2]t1) = Iξ′(t1), siendo ξ′ x-equivalente a ξ y Iξ(t2) = ξ′(x).

2. Iξ([x/t]A) = Iξ′(A), siendo ξ′ x-equivalente a ξ, t esta libre para x en A y, ademas,Iξ(t) = ξ′(x).

1.2.2. Satisfacibilidad y Validez

Definicion 1.31

1. Una fbf, A ∈ L1, se dice satisfacible o modelizable, si existe una interpretacion (U, I)y una valuacion de variables ξ asociada a (U, I), tal que Iξ(A) = 1.

2. Una fbf, A ∈ L1, se dice verdadera en una interpretacion (U, I), denotado |=(U,I) A obien por I(A) = 1 (si no hay lugar a confusion), si para toda valuacion de variables ξ setiene que Iξ(A) = 1.

3. Una fbf, A ∈ L1, se dice que es valida, denotado |= A, si es verdadera en toda inter-pretacion (U, I), es decir, si I(A) = 1 para toda interpretacion (U, I). Obviamente, > esvalida.

4. Una fbf, A ∈ L1, se dice insatisfacible o que es una contradiccion, si Iξ(A) = 0 paratoda interpretacion (U, I) y toda valuacion de variables ξ.

5. Un conjunto de fbfs, Ω ⊆ L1 se dice satisfacible o modelizable, si existe algunainterpretacion (U, I) y una valuacion de variables ξ asociada a (U, I) tal que Iξ(A) = 1para toda fbf A de Ω.

Page 32: Logica Clasica de Predicados Computacional 2014 2015

24 CAPITULO 1. LOGICA DE PRIMER ORDEN

eer r Es conveniente advertir de un posible error: confundir los conceptos de fbf verdadera en unainterpretacion, I, y fbf satisfacible. Hemos de tener en cuenta que:

- para que una fbf A sea verdadera en una interpretacion, I, se requiere que para todavaluacion ξ se tenga que Iξ(A) = 1.

- para que una interpretacion, I, satisfaga o modelize a una fbf, A, basta que para algunavaluacion ξ se tenga que Iξ(A) = 1.

Tendremos ocasion de insistir en esta diferenciacion con ejemplos.

Como en la logica proposicional, es costumbre utilizar indistintamente las expresiones “A esverdadera en M = (U, I)” y “M es un modelo para A”.eer r Consideremos un conjunto finito de fbfs, Ω. Entonces, dada una interpretacion (U, I) y una

valuacion de variables ξ, se tiene que el valor de verdad asignado a Ω por Iξ solo depende delas imagenes por I de los sımbolos de constante, de funcion y de predicados que intervienenen Ω. Esto justifica la siguiente nocion de interpretacion para un conjunto de finito de fbfso, en particular, para una fbf, A.

Definicion 1.32 Una interpretacion para un conjunto finito de fbfs cerradas, Ω (enparticular para una fbf A) es una tupla de la forma

M = (U ; u1, . . . , un; F1, . . . , Fm; R1, . . . , Rk)donde ui son los elementos de U asignados a los sımbolos de constantes a1, . . . an que inter-vienen en Ω, Fi son las funciones sobre U asignadas a los sımbolos de funciones f1, . . . fm queintervienen en Ω y Ri son las relaciones en U asignadas a los sımbolos de predicado P1, . . . Pkque intervienen en Ω.

Ejemplo 1.11 Consideremos la fbf A = (∀x)(P (x)→ Q(f(x), a)). Esta formula es cerrada (notiene variables libres. Una interpretacion Una interpretacion para A es

(1, 2, 3; a; 1; f ; (1, 2), (2, 1), (3, 3); P ; 2, Q; (1, 1), (1, 2)) 10

Definicion 1.33 Una estructura para una fbf A es una tupla de la forma

(CA,FA,PA;U ; u1, . . . , un; F1, . . . , Fm; R1, . . . , Rk)donde

Σ = CA ∪ FA ∪ PA es una signatura para A y

M = (U ; u1, . . . , un; F1, . . . , Fm; R1, . . . , Rk) es una interpretacion para A.

Definicion 1.34 Una estructura para un conjunto finito de fbfs Ω es una tupla de laforma

(CΩ,FΩ,PΩ;U ; d1, . . . , dn; F1, . . . , Fm; R1, . . . , Rk)donde

Σ = CΩ ∪ FΩ ∪ PΩ) es una signatura para Ω

M = (U ; u1, . . . un; F1, . . . Fm; R1, . . . Rk) es una interpretacion para Ω.

10En definitiva, una interpretacion M para un conjunto finito de fbfs Ω, es la restriccion de una interpretacion(U, I) al conjunto de sımbolos de constantes, de sımbolos de funciones y de sımbolos de predicado que intervienenen Ω. En adelante, para expresar el valor de verdad asignado por M a A seguiremos escribiendo I(A).

Page 33: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 25

eer r En la logica proposicional, el cardinal del conjunto de interpretaciones es infinito, concre-tamente, 2ℵ0 = |0, 1||Vprop|, donde Vprop es el conjunto de sımbolos proposicionales. Sinembargo, el numero de interpretaciones para una fbf A es siempre finito (2n, si n es el nume-ro de sımbolos proposicionales que intervienen en A). Esta propiedad nos permite representarlos valores de verdad de una fbf (para cada una de sus interpretaciones) mediante las cono-cidas tablas de verdad y, en consecuencia, afirmar la decidibilidad de la logica proposicional.

Por el contrario, en la logica de primer orden, tanto el conjunto de todas las interpretaciones,como el conjunto de interpretaciones para una fbf es infinito. Eso es ası porque, aunque tresde las componentes en una interpretacionM = (U ; u1, . . . un, F1, . . . Fm y R1, . . . Rk),son de cardinal finito, nos vemos obligados a contemplar cualquier universo U y, por lo tanto,nos vemos obligados a contemplar universos U de cualquier cardinal. Por lo tanto, las fbfs sepueden interpretar sobre un numero infinito de dominios U y para cada uno de ellos, tenemosque considerar cualquier combinacion de elecciones para la interpretacion de las constantes,de las funciones y de los predicados.

Ejemplo 1.12

1. Veamos que A = P (x, 0) es satisfacible. En efecto, sea la interpretacion (Z, I) con I(P ) =“ ≤′′. Puesto que A tiene una variable libre, para asignarle un valor de verdad, requerimosuna valuacion de variables. Podemos considerar cualquier valuacion de variables, ξ, tal queξ(x) ≤ 0 y para cada una de ellas se tiene que Iξ(P (x, 0)) = 1.

Sin embargo, P (x, 0) no es verdadera en (Z, I), ya que para toda valuacion, ξ, tal queξ(x) > 0 se tiene que Iξ(P (x, 0)) = 0.

2. Consideremos ahora A = P (x) y la interpretacion

M = (1, 2;∅;∅; P ; 1)

Puesto que en la fbf solo interviene el sımbolo de variable x, dada una valuacion de va-riables, estamos unicamente interesados en que valor asigna esta a x, es decir, en lasvaluaciones de variables ξ tales que ξ(x) = 1 y en las valuaciones de variables ξ′ tales queξ′(x) = 2. Obviamente, cada valuacion x-equivalente a una del primer tipo es del segundotipo y viceversa.

Para estas valuaciones se tiene que:

Iξ(P (x)) = 1 ya que 1 = ξ(x) ∈ I(P ) = 1Iξ′(P (x)) = 0 ya que 2 = ξ′(x) 6∈ I(P ) = 1

Por lo tanto, P (x) es satisfacible pero no es verdadera en I, es decir, I(P (x)) = 0.

3. Dada (∀x)(∃y)Q(x, y), consideremos la interpretacion

M = (1, 2;∅;∅; Q; (1, 1), (2, 2))

Puesto que en ella solo intervienen los sımbolos de variables x e y, dada una valuacion devariable, ξ, estamos unicamente interesados en que valor asigna ξ a x e y, es decir, estamosinteresados en las valuaciones de variables

- ξ1 tal que ξ1(x) = ξ1(y) = 1

Page 34: Logica Clasica de Predicados Computacional 2014 2015

26 CAPITULO 1. LOGICA DE PRIMER ORDEN

- ξ2 tal que ξ2(x) = ξ2(y) = 2

- ξ3 tal que ξ3(x) = 1 y ξ3(y) = 2

- ξ4 tal que ξ4(x) = 2 y ξ4(y) = 1

eer rLas valuaciones de tipo ξ1 y de tipo ξ4 son x-equivalentes.

Las valuaciones de tipo ξ2 y de tipo ξ3 son x-equivalentes.

Las valuaciones de tipo ξ1 y de tipo ξ3 son y-equivalentes.

Las valuaciones de tipo ξ2 y de tipo ξ4 son y-equivalentes.

Intuitivamente es claro que (∀x)(∃y)Q(x, y) es verdadera en la interpretacion dada. For-malmente, necesitamos las siguientes consideraciones:

Iξ1(Q(x, y)) = 1, ya que (1, 1) = (ξ1(x), ξ1(y)) ∈ I(Q) = (1, 1), (2, 2). Por lo tanto,Iξ1((∃y)Q(x, y)) = 1 y al ser ξ1 y ξ3 y-equivalentes tambien Iξ3((∃y)Q(x, y)) = 1.

Iξ2(Q(x, y)) = 1, ya que (2, 2) = (ξ2(x), ξ2(y)) ∈ I(Q) = (1, 1), (2, 2). Por lo tanto,Iξ2((∃y)Q(x, y)) = 1 y al ser ξ2 y ξ4 y-equivalentes tambien Iξ4((∃y)Q(x, y)) = 1

y, en consecuencia, para toda ξi donde i ∈ 1, 2, 3, 4, se tiene que

Iξi( (∀x)((∃y)Q(x, y) ) = 1

Por lo tanto, (∀x)(∃y)Q(x, y) es verdadera en la interpretacion considerada, es decir,I( (∀x)(∃y)Q(x, y) ) = 1.

Los siguientes resultados son de gran interes para poder facilitar la manipulacion semanticade las fbfs.

Teorema 1.2 Sea una fbf A y sea M = (U, I) una interpretacion de L1, entonces si ξ y ξ′ sondos valuaciones de variables tales que ξ(x) = ξ′(x) para toda variable x tal que x ∈ Vlibre(A), setiene que

Iξ(A) = 1 si y solo si Iξ′(A) = 1

Demostracion: Lo demostramos por induccion sobre el numero n de conectivas booleanas ysımbolos de cuantificacion en A.

Supongamos que n = 0. Entonces A es un atomo y toda variable en A es libre. Por lo tanto,puesto que ξ(x) = ξ′(x) para toda variable x en A, se tiene que Iξ(A) = Iξ′(A).

Supongamos que el resultado es cierto para n < k y lo demostramos para n = k. Demos-tramos los casos en que A = ¬B, A = B ∧ C y A = (∀x)B. La demostracion para las otrasconectivas booleanas y para ∃ son analogas.

Sea A = ¬B. Sea M = (U, I) una interpretacion de L1 y sean ξ y ξ′ dos valuacionesde variables tales que ξ(x) = ξ′(x) para toda variable x tal que x ∈ Vlibre(A). Entonces,Iξ(A) = 1 si y solo si Iξ(B) = 0 y, puesto que

Vlibre(A) = Vlibre(B)

se tiene (por hipotesis de induccion) que, Iξ′(B) = Iξ(B). Por lo tanto, Iξ(A) = 1 si y solosi Iξ′(A) = 1.

Page 35: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 27

Sea A = B ∧ C. Sea M = (U, I) una interpretacion de L1 y ξ y ξ′ dos valuaciones devariables tales que ξ(x) = ξ′(x) para toda variable x tal que x ∈ Vlibre(A). Entonces,

Iξ(A) = 1 si y solo si Iξ(B) = Iξ(C) = 1 y, puesto que

Vlibre(A) = Vlibre(B) ∪ Vlibre(C)

por la hipotesis de induccion tenemos que, Iξ′(B) = Iξ(B) y Iξ′(C) = Iξ(C).

Por lo tanto, Iξ(A) = 1 si y solo si Iξ′(A) = 1.

Sea A = (∀x)B. Sea M = (U, I) una interpretacion de L1 y sean ξ y ξ′ dos valuacionesde variables tales que ξ(x) = ξ′(x) para toda variable x tal que x ∈ Vlibre(A). En estecaso, Vlibre(B) = Vlibre(A) ∪ x. Supongamos que Iξ(A) = 1 y veamos que Iξ′(A) = 1.Para ello habra que comprobar que Iµ′(B) = 1 para toda valuacion de variables µ′ que seax-equivalente a ξ′:

Sea µ′ una valuacion de variables x-equivalente a ξ′. Consideremos la valuacion de variablesµ como sigue:

µ(y) =

µ′(y), si y ∈ Vlibre(B)ξ′(y), en caso contrario

Veamos que µ es x-equivalente a ξ. Sea y cualquier variable distinta de x, como µ′ esx-equivalente a ξ′, resulta que µ′(y) = ξ′(y). Ahora tenemos dos casos:

• y ∈ Vlibre(B).

Entonces µ(y) = µ′(y) (por def. de µ), luego µ(y) = ξ′(y). Ahora bien, por hipotesis,ξ y ξ′ coinciden en los valores asignados a las variables de Vlibre(B), por tanto, µ(y) =ξ(y).

• y /∈ Vlibre(B).

Entonces µ(y) = ξ′(y) (por def. de µ) y obtenemos el mismo resultado que antes.

A partir de lo anterior se tiene que Iµ(B) = 1, pues Iξ(A) = 1. Ahora bien puesto queµ(y) = µ′(y) para toda y ∈ Vlibre(A), por hipotesis de induccion, Iµ′(B) = Iµ(B) y entoncesIµ′(B) = 1. Por tanto, se tiene que Iξ′(A) = 1.

La demostracion del inverso es analoga.

Teorema 1.3 Dada una fbf cerrada A y una interpretacion M = (U, I), se tiene que I(A) = 1o bien I(A) = 0

Demostracion: Puesto que A no tiene variables libres, dos valuaciones de variables cuales-quiera ξ y ξ′ cumplen la hipotesis del teorema anterior. Por lo tanto, Iξ(A) = 1 si y solo siIξ′(A) = 1. Ası pues, Iξ(A) = 1 para toda valuacion de variables ξ o bien Iξ(A) = 0 para todavaluacion de variables ξ, es decir, I(A) = 1 o I(A) = 0.

Page 36: Logica Clasica de Predicados Computacional 2014 2015

28 CAPITULO 1. LOGICA DE PRIMER ORDEN

Teorema 1.4 Dada una fbf A

1. A es valida si y solo si ¬A es insatisfacible.

2. A(x1, . . . , xn) es satisfacible si y solo si su cierre existencial lo es.

3. A(x1, . . . , xn) es valida si y solo si su cierre universal lo es. 11

Demostracion:

1. Es evidente.

2. Bastara probar que A(x) es satisfacible si y solo si (∃x)A es satisfacible.

Supongamos que A(x) es satisfacible, sea (U, I) una interpretacion y ξ una valuacion devariables tal que Iξ(A(x)) = 1. Entonces, Iξ( ((∃x)A(x) ) = 1 (ya que ξ es x-equivalente aξ). Por lo tanto, (∃x)A(x) es satisfacible.

Inversamente, si (∃x)A(x) es satisfacible, entonces existe una interpretacion (U, I) y unavaluacion de variables ξ tal que Iξ( (∃x)A(x) ) = 1. Por lo tanto, existe una valuacion devariables ξ′ x-equivalente a ξ tal que Iξ′(A(x)) = 1 y A(x) es satisfacible.

3. Bastara probar que A(x) es valida si y solo si (∀x)A es valida.

Supongamos que A(x) es valida. Entonces, si (U, I) es una interpretacion cualquiera, setiene que, Iξ(A(x)) = 1 para toda valuacion de variables ξ, luego lo es, en particular, paralas valuaciones x-equivalentes a ξ. Por lo tanto, I((∀xi)A(x)) = 1 y, puesto que (U, I) esarbitraria, (∀x)A(x) es valida.

Inversamente, supongamos que (∀x)A(x) es valida. Entonces, si (U, I) es una interpretacionarbitraria, se tiene que, Iξ((∀x)A(x)) = 1 para toda valuacion de variables ξ y, pordefinicion, se tiene que Iξ′(A(x)) = 1 para las valuaciones x-equivalentes a ξ. Por tanto,A(x) es valida.

eer r El Teorema 1.4 nos permite afirmar que

Toda la expresividad de la logica de primer orden se obtiene usando unicamente

fbfs cerradas.

De hecho en un lenguaje de primer orden las fbfs cerradas son las que simbolizan los enun-ciados del lenguaje natural.

Una vez demostrado el Teorema 1.4 podemos plantearnos redefinir la semantica limitandonosa la consideracion de las fbfs cerradas:

Definicion 1.35 Si t1, . . . , tn son terminos basicos y

M = (U ; u1, . . . un; F1, . . . Fm; R)

es una interpretacion para P (t1 . . . , tn), entonces definimos el valor de verdad de P (t1 . . . , tn)como sigue:

11Este resultado es de gran utilidad y nos permite, por ejemplo, escribir ecuaciones algebraicas sin usar loscuantificadores universales. El lector estara familiarizado a ver expresiones como: x+ y = y + x para afirmar que+ es commutativa, dando por supuesto que nos referimos a cualquier eleccion de x e y.

Page 37: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 29

I(P (t1, . . . , tn)) = 1 si y solo si (I(t1), . . . , I(tn)) ∈ I(P ) = R

Esta definicion se extiende recursivamente a todas las fbfs cerradas del siguiente modo:

SiM = (U ; u1, . . . un; F1, . . . Fm; R1, . . . Rk) es una interpretacion para el conjunto de fbfscerradas A,B, entonces, I(⊥) = 0; I(>) = 1 y:

1. I(¬A) = 1 si y solo si I(A) = 0

2. I(A→ B) = 1 si y solo si I(A) = 0 o I(B) = 1

3. I(A ∧B) = 1 si y solo si I(A) = 1 y I(B) = 1

4. I(A ∨B) = 1 si y solo si I(A) = 1 o I(B) = 1

5. I( (∃x)B) = 1 si y solo si para algun u0 ∈ U , se tiene que

Iu0([x/b]B) = 1

donde b es un sımbolo de constante que no ocurre en B e Iu0 es la interpretacion corres-pondiente a la extension de M que asocia u0 a b.

6. I( (∀x)B ) = 1 si y solo si para todo u0 ∈ U , se tiene que

Iu0([x/b]B) = 1

donde b es un sımbolo de constante que no ocurre en B e Iu0 se define como en el puntoanterior.

Si nos referimos a las fbfs, podemos retomar las notaciones de la logica clasica proposicional,denotar por I el conjunto de interpretaciones,Mod(A) el conjunto de modelos de la fbf cerradaA y por Mod(Ω) el conjunto de modelos de un conjunto, Ω, de fbfs cerradas.

Definicion 1.36

Una fbf cerrada A es satisfacible si Mod(A) 6= ∅.

Si Ω es un conjunto de fbfs cerradas, entonces Ω es satisfacible si Mod(Ω) 6= ∅.

Una fbf cerrada A es valida si Mod(A) = I.

Los ejemplos expuestos hasta aquı nos muestran que, a diferencia de la logica clasica propo-sicional, en la logica clasica de primer orden es laborioso analizar la satisfacibilidad o la validezde una fbf. Incluso en ejemplos tan sencillos como los que hemos considerado, nos sentimosagobiados por los formalismos. Pero no son los formalismos el unico handicap, mas adelanteprobaremos que los problemas de la satisfacibilidad y la validez no son decidibles en L1: son tansolo semidecidibles, ¡es el precio a pagar por su mayor expresividad!

Por ahora, nos conformaremos con analizar fbfs sencillas, haciendo uso de la definicion. Peroincluso para este analisis, en los ejemplos siguientes, nos vamos a permitir expresarnos menosformalmente.

Ejemplo 1.13 Consideremos el conjunto de fbfs

P (a), (∀x)((∃y)(P (x)→ Q(y, x))

Page 38: Logica Clasica de Predicados Computacional 2014 2015

30 CAPITULO 1. LOGICA DE PRIMER ORDEN

(a) En la interpretacion

(a, b, c; a; a;∅; P ; a, b, Q; (a, b), (a, c), (b, a), (c, a))

P (a) es, obviamente, verdadera. Veamos que (∀x)(∃y)(P (x)→ Q(y, x)) tambien lo es.

Informalmente, podemos razonar como sigue:

- Si asignamos a a x, podemos asignar c a y con lo cual P (a)→ Q(c, a) es verdadera.

- Si asignamos b a x, podemos asignar a a y con lo cual P (b)→ Q(a, b) es verdadera.

- Si asignamos c a x, podemos asignar c a y con lo cual P (c)→ Q(c, c) es verdadera.

(b) En la interpretacion

(Z; 0;∅; P ; N, Q; (m1,m2) | m2 = m12)

P (a) es, obviamente, verdadera. Veamos que (∀x)(∃y)(P (x)→ Q(y, x)) no lo es:

Si asignamos 8 a x, para cualquier asignacion de un numero entero m a y, se tiene que8 6= m2 y, por lo tanto, (∀x)(∃y)(P (x)→ Q(y, x)) no es verdadera.

(c) En la interpretacion

(N; 0;∅; P ; N− 0, Q; (m1,m2) | m1 < m2)

P (a) es, obviamente, falsa. Veamos que (∀x)(∃y)(P (x)→ Q(y, x)) es verdadera:

- Si asignamos 0 a x, para cualquier asignacion de un numero natural m a y, P (0) →Q(m, 0) es verdadera ya que P (0) es falsa.

- Si asignamos m 6= 0 a x, podemos asignar m−1 a y con lo cual P (m)→ Q(m−1,m)es verdadera ya que Q(m− 1,m) es verdadera.

eer r La logica de primer orden es una extension de la logica proposicional en el siguiente sentido:

Todo enunciado formalizable en Lprop es tambien formalizable en L1.

Si la formulacion de un enunciado E en Lprop es una fbf valida en Lprop, entonces suformalizacion en L1 es tambien una fbf valida en L1.

Debido a que la semantica de los conectivos booleanos es la misma que para la logica pro-posicional, la nocion de tautologıa es extensible a la logica de primer orden: Es inmediato que

Si en un esquema de tautologıa de la logica clasica proposicional sustituimos cadametasımbolo por una fbf del lenguaje de primer orden L1, obtendremos tambien unafbf valida (que llamaremos asimismo tautologıa).

Tenemos, por lo tanto, el siguiente resultado:

Page 39: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 31

Teorema 1.5 Todo esquema de tautologıa de la logica clasica proposicional proporciona unesquema de tautologıa en la logica clasica de primer orden.

Ejemplo 1.14 La fbf

( (∃x)P (x, a)→ (∀y)Q(y))↔ (¬(∃x)P (x, a) ∨ (∀y)Q(y))

es una tautologıa obtenida del esquema valido en la logica clasica proposicional:

(A→ B)↔ (¬A ∨B)

Para probar que una fbf, A, en L1 no es valida, se requiere encontrar una interpretacion enla que dicha fbf sea falsa, es decir, un contramodelo para A.

Ejemplo 1.15 La fbf (∀x)(∃y)P (x, y)→ (∃y)(∀x)P (x, y) no es valida ya que la interpretacion(N;∅;∅; P ;≤) es un contramodelo, es decir, un modelo para su negacion.

1.2.3. Equivalencia Logica

Definicion 1.37 Sea M = (U, I) una interpretacion en L1.

Dos fbfs A y B se dicen M-equivalentes, denotado A ≡M B si I(A) = I(B), es decir, sipara toda valuacion de variables ξ se tiene que Iξ(A) = Iξ(B).

Definicion 1.38 Dos fbfs A y B se dice que son logicamente equivalentes, denotado A ≡ B,si A ≡M B para toda interpretacion M en L1. Obviamente,

A ≡M B si y solo si A↔ B es verdadera en MA ≡ B si y solo si A↔ B es valida

En particular, dos fbfs cerradas A y B son logicamente equivalentes si Mod(A) =Mod(B).

Los siguientes ejemplos de equivalencias muestran como, semanticamente, podemos expresarun cuantificador en terminos del otro:

(∀x)A ≡ ¬(∃x)¬A

(∃x)A ≡ ¬(∀x)¬A

En consecuencia, si O es un conjunto de conectivas completamente expresivo para la logicaclasica proposicional, se tiene que

O ∪ ∀ y O ∪ ∃

tienen total expresividad para la logica clasica de primer orden. En particular,

∧,¬,∀ y ¬,→,∃

son conjuntos adecuados de conectivas.

Page 40: Logica Clasica de Predicados Computacional 2014 2015

32 CAPITULO 1. LOGICA DE PRIMER ORDEN

eer r Conviene hacer de nuevo hincapie en que una frase del lenguaje natural (de las contempladaspor la logica clasica de primer orden), como ocurrıa en el caso proposicional, puede serformalizada por diversas fbfs del lenguaje L1 (mas aun, por una infinidad numerable de fbfs)todas ellas semanticamente equivalentes, es decir, que transmiten la misma informacion.Ası, por ejemplo, “No todas las aves pueden volar” puede ser puede ser formalizada por¬(∀x)

(A(x) → V (x)

), donde A(α) formaliza “α es un ave” y V (α) formaliza “α puede

volar”, o bien por (∃x)(A(x)∧¬V (x)

), es decir, nuestra frase transmite el mismo significado

que la frase “Existen aves que no pueden volar”.

Ante una frase del lenguaje natural, nuestro quehacer habra de centrarse en reflexionar cuales la informacion que deseamos transmitir para despues proceder a formalizarla medianteL1.

El siguiente resultado es una particularizacion del Teorema 1.5:

Teorema 1.6 Todo esquema de equivalencia en la logica clasica proposicional es un esquemade equivalencia en la logica clasica de primer orden.

Por lo tanto, en L1 disponemos de todas las equivalencias basicas de la logica clasica propo-sicional: leyes de Morgan, ley de la doble negacion, leyes de absorcion, leyes de cero y uno,etc.

Leyes en L1

Nos queda pues conocer las leyes en L1 que nos muestran la interaccion de las conectivasbooleanas con los cuantificadores y de los cuantificadores entre sı y que son las siguientes:

1. (∃x)(∃y)A(x, y) ≡ (∃y)(∃x)A(x, y)

2. (∀x)(∀y)A(x, y) ≡ (∀y)(∀x)A(x, y)

3. (∀x)(A(x) ∧B(x)) ≡ (∀x)A(x) ∧ (∀x)B(x)

4. (∃x)(A(x) ∨B(x)) ≡ (∃x)A(x) ∨ (∃x)B(x)

5. Si x no ocurre en B, (∀x)(A(x) ∨B) ≡ (∀x)A(x) ∨B

6. Si x no ocurre en B, (∃x)(A(x) ∧B) ≡ (∃x)A(x) ∧B

7. Si ∗ ∈ ∧,∨ y Q,Q′ ∈ ∀, ∃ y z no ocurre ni en A ni en B, entonces

(Qx)A(x) ∗ (Q′x)B(x) ≡

(Qx)A(x) ∗ (Q′z)B([x/z]) ≡ (Qx)(Q′z)(A(x) ∗B(z)) ≡ (Q′z)(Qx)(A(x) ∗B(z))

Demostracion de 5:

Supongamos que x no ocurre en B. 12 Sea (U, I) una interpretacion cualquiera de L1 tal queIξ((∀x)(A(x) ∨B)) = 0. Entonces existe una valuacion de variables ξ′ x-equivalente a ξ tal queIξ′(A(x) ∨ B) = 0; es decir, Iξ′(A(x)) = Iξ′(B) = 0. Es claro, entonces, que Iξ((∀x)A(x)) = 0.

12Se podrıa admitir que x no ocurriera libre en B.

Page 41: Logica Clasica de Predicados Computacional 2014 2015

1.2. SEMANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 33

Ademas, dado que x no ocurre en B, entonces ξ y ξ′ asignan exactamente los mismos valores atodas las variables de Var

libre(B), luego –por el Teorema 1.2– tenemos tambien que Iξ(B) = 0.

Por consiguiente, Iξ((∀x)A(x)∨B) = 0. La recıproca se demuestra de forma similar. Esto pruebaque para cualquier interpretacion y valuacion de variables asociadas a dicha interpretacion ambasformulas reciben el mismo valor de verdad. Por tanto, ambas son equivalentes.

El resto de las demostraciones son similares.eer r Antes de continuar, hagamos de nuevo hincapie en posibles confusiones respecto a los con-ceptos de variable libres libres y ligadas.

En una formula como A = (∀x)((P (x)∨((∃x)Q(x)), la variable x ocurre en la subformula B =(existsx)Q(x) pero ocurre ligada. Por esta razon, podemos renombrar x en esta subformulay obtenemos ası la fbf equivalente a A

A = (∀x)((P (x) ∨ ((∃y)Q(y))

De esta forma, dejamos mas en evidencia que una variable esta ligada por en cuantificadosmas cercano (el mas cercano que la tiene en su ambito. Ası la ocurrencia de x en B no se veinfluenciada por el cuantificador universal externo.

Teorema 1.7 Si B es una subformula de A y B ≡M C, entonces A ≡M A[B/C], donde A[B/C]denota que al menos una ocurrencia de B en A se ha sustituido por C.

Demostracion: Sea M = (U, I). Si B ≡M C, por definicion de ≡M , se tiene que, para todavaluacion ξ, Iξ(B) = Iξ(C).

Tenemos que probar que Iξ(A) = Iξ(A[B/C]) para toda valuacion ξ. Lo demostramos porinduccion estructural:

Si A = > o A = ⊥, entonces A[B/C] = A y el resultado es obvio.

Si A es un atomo, entonces A = B y el resultado es obvio.

Si A = ¬A1 o A = A1 ∗ A2, donde ∗ ∈ ∧,∨,→, la demostracion es como en el casoproposicional.

Supongamos A = (∀x)A1. Si B = A, el resultado es obvio. En caso contrario, B es unasubformula de A1 y, por hipotesis de induccion, A1 ≡M A1[B/C]. Por tanto, solo nos quedaprobar que Iξ( (∀x)A1 ) = Iξ( (∀x)A1[B/C] ).

En efecto, Iξ((∀x)A1) = 1 si y solo si para toda valuacion de variables ξ′ que es x-equivalente a ξ se tiene que Iξ′(A1) = 1 si y solo si (por hipotesis de induccion) Iξ′(A1[B/C]) =1 si y solo si Iξ((∀x)A1[B/C]) = 1.

Como corolario de este teorema, se tiene el siguiente resultado que generaliza el teorema delmismo nombre para la logica clasica proposicional.

Teorema 1.8 (de Equivalencia) Si B es una subformula de A y B ≡ C, entonces A ≡A[B/C].

Page 42: Logica Clasica de Predicados Computacional 2014 2015

34 CAPITULO 1. LOGICA DE PRIMER ORDEN

El paso de A a A[B/C] se denomina transformacion de equivalencia.

Las siguientes equivalencias, cuya demostracion se deja como ejercicio al lector, justifican lasrestricciones que, a nivel sintactico, hemos establecido para las fbfs:

Lema 1.1 Dada una fbf A y z un sımbolo de variable que no ocurre en A(x), entonces:

1. (Qz)A ≡ A

2. (Qx)A(x) ≡ (Qz)A(z)

3. (Qx)(Q′x)A(x) ≡ (Qx)(Q′z)A(z) ≡ (Q′z)A(z)

El teorema de equivalencia permite generalizar la segunda equivalencia y justificar la definicionde renombramiento dada en la Seccion 1.1.5:

Corolario 1.1 Si Qx es un cuantificador en la fbf A y la variable z no ocurre en A, la fbfobtenida a partir de A sustituyendo x por z en Qx y en su rango, es equivalente a A.

En definitiva, la relacion “A coincide con B salvo renombramiento” es una relacion de equi-valencia.

1.3. Forma Normal Prenexa

Como en el caso proposicional, nos interesa disponer de “representantes canonicos” para lasclases de equivalencia del conjunto cociente L1/≡, es decir, disponer de una estructura comunpara todas las fbfs. Es decir, deseamos disponer de un tipo de fbfs tal que cualquier fbf seaexpresable por (es decir, semanticamente equivalente a) una de dicho tipo y cuya lectura seamas agradable.

En la logica clasica de primer orden, las formas normales que se han mostrado especial-mente utiles son las formas normales prenexas. Para su descripcion necesitaremos las siguientesdefiniciones:

Definicion 1.39

1. Los atomos junto con sus negaciones se llaman literales. Decimos que los literalesP (t1, . . . , tn) y ¬P (t1, . . . , tn) son literales opuestos.

2. Una fbf se dice que es un cubo si es >, ⊥ o una conjuncion finita (posiblemente vacıa) deliterales.

3. Una fbf se dice que es una clausula si es >, ⊥ o una disyuncion finita (posiblementevacıa) de literales.

4. Una fbf en la que las unicas conectivas booleanas que intervienen son ¬,∧ y ∨ y en la que¬ solo afecta a los atomos se dice que es una forma normal negativa, denotada fnn.

Definicion 1.40

1. Una fbf se dice que es una forma normal prenexa, denotada fnp, si es de la forma(Q1x1) . . . (Qnxn)B donde

Page 43: Logica Clasica de Predicados Computacional 2014 2015

1.3. FORMA NORMAL PRENEXA 35

(Qixi) son cuantificadores con variables distintas.

B es una fbf que no contiene cuantificadores.

Dada una fnp, A = (Q1x1) . . . (Qnxn)B, a la secuencia (Q1x1) . . . (Qnxn) se le denominaprefijo de A y a la fbf B se le denomina matriz de A.

2. Una fbf se dice que es una forma normal prenexa disyuntiva, denotada fnpd, si es >,⊥, o una forma normal prenexa en la que su matriz es una disyuncion de cubos.

3. Una fbf se dice que es una forma normal prenexa conjuntiva, denotada fnpc, si es >,⊥, o una forma normal prenexa en la que su matriz es una conjuncion de clausulas.

Las nociones de clausula que contiene a otra clausula y cubo que contiene a otro cubo son lasmismas que para el caso proposicional. Asimismo, se generalizan de modo natural los conceptosde forma normal conjuntiva restringida y forma normal disyuntiva restringida.

Definicion 1.41 Una fnpd se dice restringida, denotada fnpdr, si su matriz cumple lossiguientes requisitos:

ningun cubo contiene un literal y su opuesto.

ningun cubo contiene literales repetidos.

ningun cubo contiene a otro.

Una fnpc se dice restringida, denotada fnpcr, si su matriz cumple los siguientes requisitos:

Ninguna clausula contiene un literal y su opuesto.

Ninguna clausula contiene literales repetidos.

Ninguna clausula contiene a otra.

Teorema 1.9 Para toda fbf de L1 existe una forma normal prenexa disyuntiva restringida yuna forma normal prenexa conjuntiva restringida equivalentes a ella.

Demostracion: La demostracion de este teorema proporciona el algoritmo estandar para laobtencion de las formas normales cuya existencia asegura su enunciado.

En efecto, el teorema de equivalencia nos asegura que, dada una fbf cualquiera, A, podemosobtener a partir de A una fndr o una fncr equivalente, realizando en cada paso una sola de lassiguientes transformaciones de equivalencia y en el siguiente orden:

Paso 1: Hacer uso del Corolario 1.1 y realizar cuantos renombramientos sean necesarios paraque en A todas las variables cuantificadas sean distintas.

Paso 2: Usar las leyes

A↔ B ≡ (A→ B) ∧ (B → A)

A→ B ≡ ¬A ∨B

para eliminar los conectivos ↔ y →.

Page 44: Logica Clasica de Predicados Computacional 2014 2015

36 CAPITULO 1. LOGICA DE PRIMER ORDEN

Paso 3: Usar la ley de doble negacion (¬¬A ≡ A), las leyes de Morgan ¬(A ∧B) ≡ ¬A ∨ ¬By ¬(A ∨B) ≡ ¬A ∧ ¬B) y las leyes

¬(∀x)A ≡ (∃x)¬A¬(∃x)A ≡ (∀x)¬A

Con los pasos 2 y 3 obtenemos una fbf en la que no interviene → y en la que ¬ afectaunicamente a los atomos, es decir, obtenemos una fnn.

Paso 4: Usar las leyes 13

(∀x)A ∨B ≡ (∀x)(A ∨B)

(∀x)A ∧B ≡ (∀x)(A ∧B)

(∃x)A ∨B ≡ (∃x)(A ∨B)

(∃x)A ∧B ≡ (∃x)(A ∧B)

para transmitir los cuantificadores a la cabeza de la fbf.

Paso 5: Usar la ley distributiva de ∧ respecto a ∨ (para las fnpdr) o de ∨ respecto a ∧ (paralas fnpcr).

Paso 6: Usar cuantas veces sea posible las leyes (para ∧, o para ∨) de idempotencia, de com-plementacion, de cero y uno y de absorcion, para obtener las formas normales restringidas.

Los siguientes ejemplos muestran como obtener una fnpcr y una fnpdr equivalente a una fbfdada.

Ejemplo 1.16 Sea (∃x)[R(x)→ ¬(∃y)T (x, y)] ∧ ¬(∃z) [(∀u)P (u, z)→ (∀v)Q(v, z)]. Hallemosuna fnpcr y una fnpdr equivalentes a ella:

(∃x)[R(x)→ ¬(∃y)T (x, y)] ∧ ¬(∃z) [(∀u)P (u, z)→ (∀v)Q(v, z)] ≡

≡ (∃x)[¬R(x) ∨ ¬(∃y)T (x, y)] ∧ ¬(∃z)[¬(∀u)P (u, z) ∨ (∀v)Q(v, z)]

≡ (∃x)[¬R(x) ∨ (∀y)¬T (x, y)] ∧ (∀z)¬[¬(∀u)P (u, z) ∨ (∀v)Q(v, z)]

≡ (∃x)[¬R(x) ∨ (∀y)¬T (x, y)] ∧ (∀z)[(∀u)P (u, z) ∧ ¬(∀v)Q(v, z)]

≡ (∃x)[¬R(x) ∨ (∀y(¬T (x, y)] ∧ (∀z)[(∀u)P (u, z) ∧ (∃v)¬Q(v, z)]

≡ (∃x)(∀y)[¬R(x) ∨ ¬T (x, y)] ∧ (∀z)(∀u)(∃v)[P (u, z) ∧ ¬Q(v, z)]

≡ (∃x)(∀y)(∀z)(∀u)(∃v)[(¬R(x) ∨ ¬T (x, y)) ∧ P (u, z) ∧ ¬Q(v, z)] (fnpc)

Usando la regla de distribucion de ∧ respcto de ∨ hubiesemos obtenido la fnpd

(∃x)(∀y)(∀z)(∀u)(∃v)[(¬R(x) ∧ P (u, z) ∧ ¬Q(v, z)) ∨ (¬T (x, y) ∧ P (u, z) ∧ ¬Q(v, z))]

13Puesto que el paso 1 asegura que las variables cuantificadas son todas distintas, en la fbf B no hay ocurrenciasde la variable x.

Page 45: Logica Clasica de Predicados Computacional 2014 2015

1.4. SKOLEMIZACION 37

Ejemplo 1.17 Sea (∀x)(P (x)→ (Q(x)∨¬R(x))

)∧ (∃y)Q(y). Hallemos una fnpcr y una fnpdr

equivalentes a ella.

(∀x)(P (x)→ (Q(x) ∨ ¬R(x))

)∧ (∃y)Q(y) ≡

≡ (∀x)(¬P (x) ∨Q(x) ∨ ¬R(x)

)∧ (∃y)Q(y)

≡ (∀x)(∃y)((¬P (x) ∨Q(x) ∨ ¬R(x)) ∧Q(y)

)(fnpc)

≡ (∀x)(∃y)(¬P (x) ∧Q(y)) ∨ (Q(x) ∧Q(y)) ∨ (¬R(x) ∧Q(y))

)(fnpd)

eer r Advirtamos, que la forma prenexa obtenida por el procedimiento descrito no es necesaria-mente unica ya que nada hemos establecido sobre en que orden extraer los cuantificadores.Sin embargo, el orden de los cuantificadores en el prefijo de una forma prenexa es importante,como veremos en la seccion siguiente.

1.4. Skolemizacion

Las formas normales prenexas permiten utilizar los cuantificadores de un modo limitado (soloen la cabecera de la fbf) sin perdida de potencia expresiva. Sin embargo, es posible imponer unuso aun mas restringido de la cuantificacion que, si bien reduce la potencia expresiva, lo hace deforma satisfactoria para nuestro interes en el uso de la logica en Computacion. Concretamente,es posible asociar a toda fbf, A, una fbf, denotada SkA, llamada forma de Skolem asociada

a A, que es una forma normal prenexa y en cuyo prefijo solo existen cuantificadores universalesy tal que A y SkA son equisatisfacibles.

Como conocemos por el estudio de la logica proposicional, esta perdida de potencia expresivacarece de importancia si estamos interesados en sistemas de demostracion (automatica o no) porrefutacion.

En esta seccion, presentamos las formas de Skolem y el proceso a seguir para, dada una fbfA, obtener SkA. Comencemos analizando algunos ejemplos:

Ejemplo 1.18 Si P es un sımbolo de predicado binario, dada la fbf:

(∃x)(∀y)P (x, y)

es facil comprobar que (∃x)(∀y)P (x, y) es satisfacible si y solo si (∀y)P (a, y) es satisfaciblepara algun sımbolo de constante a.

En efecto, (∃x)(∀y)P (x, y) es satisfacible si y solo si existe una interpretacion

M = (U ;∅;∅; P ; R)

tal que I( (∃x)(∀y)P (x, y) ) = 1, es decir, si y solo si, para algun elemento u0 ∈ U , se tiene queIu0((∀y)P (a, y)) = 1, donde a es un sımbolo de constante y Iu0 es la interpretacion correspon-diente a la extension de M que asocia u0 al sımbolo de constante a, es decir, Iu0 es

(U ; a; d0;∅; P ; R)

Como consecuencia inmediata del resultado del ejemplo anterior, se tiene que:

Page 46: Logica Clasica de Predicados Computacional 2014 2015

38 CAPITULO 1. LOGICA DE PRIMER ORDEN

Teorema 1.10 Dado un conjunto de fbfs, Ω, se tiene que

Ω ∪ (∃x)(∀y)P (x, y) es satisfacible si y solo si Ω ∪ (∀y)P (a, y) es satisfacible

donde a es un sımbolo de constante que no ocurre en Ω.

Para convencernos de la necesidad de imponer restriccion de que a no ocurra en Ω, bastaconsiderar, por ejemplo, los dos conjuntos de fbfs siguientes:

(∀y)¬P (a, y), (∃x)(∀y)P (x, y) es satisfacible.

(∀y)¬P (a, y), (∀y)P (a, y) es insatisfacible.

eer r Hasta aquı, no hemos hecho mas que reflejar una practica habitual en matematicas: Despuesde afirmar la existencia de objetos x que satisfacen una propiedad P (x), continuamos con laexpresion “ sea a alguno de estos x tal que P (a) es cierto”.

¿Podemos eliminar todos los cuantificadores existenciales de esta forma tan sencilla? Larespuesta, como nos muestra el ejemplo siguiente, es negativa.

Ejemplo 1.19

Ω = (∀x)(∀y)(¬P (x, y) ∨ ¬P (f(x), y)), (∀x)(∃y)P (x, y) es satisfacible.

En efecto, la interpretacion en L1

1, 2;∅; f ; (1, 2), (2, 1); P ; (1, 2), (2, 1)

satisface Ω.

Para cualquier sımbolo de constante a el conjunto de fbfs

Ω′ = (∀x)(∀y)(¬P (x, y) ∨ ¬P (f(x), y)), (∀x)P (a, y) es insatisfacible.

Las dos posibles interpretaciones que hay que considerar son:

1, 2; a; 1; f ; (1, 2), (2, 1); P ; (1, 2), (2, 1)

1, 2; a; 2; f ; (1, 2), (2, 1); P ; (1, 2), (2, 1)y ninguna de ellas satisface Ω′.

eer r Seguramente, el lector no se habra sorprendido de esta respuesta negativa, ya que si P es unsımbolo de predicado binario, con la fbf (∀x)(∃y)P (x, y) afirmamos que “para cada x existeun y que esta relacionado con x por P”. En esta situacion, la practica matematica habituales introducir una definicion y = Φ(x) y afirmar que para cualquier x se tiene que P (x,Φ(x)).

Este es el modo de proceder adecuado. En efecto, como probaremos en esta seccion, se tieneque

(∀x)(∃y)P (x, y) es satisfacible si y solo si (∀x)P (x,Φ(x)) es satisfacible

para algun sımbolo de funcion Φ.

Page 47: Logica Clasica de Predicados Computacional 2014 2015

1.4. SKOLEMIZACION 39

Pasemos ya a presentar la generalizacion de las tecnicas utilizadas en estos ejemplos.

Definicion 1.42 Una fbf A se dice que es una forma normal de Skolem si es una formaprenexa en cuyo prefijo solo aparecen cuantificadores universales.

Dada una fbf cerrada A, se llama forma normal de Skolem asociada a A, denotada SkA,a toda forma normal de Skolem obtenida del modo siguiente:

1. Obtener por el procedimiento introducido en la seccion anterior una forma normal prenexa,A′, equivalente a A.

2. Obtener sucesivas formas prenexas a partir de A′ aplicando repetidamente el siguientemetodo hasta que no haya cuantificadores existenciales en el prefijo:

a) Si x es una variable cuantificada existencialmente y en el prefijo de la matriz no existeningun cuantificador universal que preceda a (∃x), entonces

- Elegir un sımbolo de constante a que no ocurra en la matriz.

- Sustituir x por a en la matriz.

- Eliminar (∃x) en el prefijo.

b) Si x es una variable cuantificada existencialmente y (∀xn1), . . . , (∀xnk) son los cuan-

tificadores universales que preceden a (∃x) en el prefijo de la fnp, entonces

- Elegir un sımbolo de funcion f que no ocurra en la matriz.

- Sustituir x por f(xn1 , . . . , xnk) en la matriz.

- Eliminar (∃x) en el prefijo.

El proceso descrito para eliminar los cuantificadores existenciales se denomina skolemizacion(por el logico noruego Thoralf Skolem). Cada aplicacion de 2.a o 2.b se denomina etapa de

skolemizacion y los sımbolos de constante y de funcion introducidos en el proceso se denomi-nan constantes de Skolem y funciones de Skolem, respectivamente.

Ejemplo 1.20 Consideremos la fbf

A = (∃y)(∀x)(∀z)(∀u)(∃t)((P (x, y)→ Q(a, z, u)) ∧ (P (x, u)→ R(t, z))

)Una forma normal de Skolem para A es

(∀x)(∀z)(∀u)((P (x, b)→ Q(a, z, u)) ∧ (P (x, u)→ R(f(x, z, u), z))

)Ejemplo 1.21 Considerese la fbf

(∀x)(P (x)→ Q(x)

)→((∀y)P (y)→ (∀z)Q(z)

)eliminando los conectivos →, obtenemos la fbf

¬(∀x)(¬P (x) ∨Q(x)

)∨(¬(∀y)P (y) ∨ (∀z)Q(z)

)restringiendo el ambito de ¬ solo a los atomos, obtenemos la fbf

(∃x)(P (x) ∧ ¬Q(x)

)∨((∃y)¬P (y) ∨ (∀z)Q(z)

)

Page 48: Logica Clasica de Predicados Computacional 2014 2015

40 CAPITULO 1. LOGICA DE PRIMER ORDEN

y extrayendo los cuantificadores obtenemos la fbf

(∃x)(∃y)(∀z)((P (x) ∧ ¬Q(x)) ∨ ¬P (y) ∨Q(z)

)finalmente, la eliminacion de (∃y) y de (∃x) mediante dos etapas de skolemizacion nos haceincluir dos sımbolos de constante a y b resultando la fbf

(∀z)((P (a) ∧ ¬Q(a)) ∨ ¬P (b) ∨Q(z)

)eer r Advirtamos que, como avanzamos en la seccion anterior, el orden de extraccion de los cuan-

tificadores al obtener una forma prenexa equivalente a la fbf dada, influye en la complejidadde la forma normal de Skolem obtenida. En efecto, puesto que no hemos establecido el ordende extraccion de los cuantificadores, en el ejemplo anterior, podrıamos haber obtenido lasiguiente forma prenexa

(∀z)(∃x)(∃y)((P (x) ∧ ¬Q(x)) ∨ ¬P (y) ∨Q(z)

)La forma de Skolem asociada es ahora mucho mas compleja, puesto que requiere introducirdos sımbolos de funcion monaria, por ejemplo f y g, obteniendo la fbf

(∀z)((P (f(z)) ∧ ¬Q(f(z))) ∨ ¬P (g(z)) ∨Q(z)

)Es importante, pues, anadir al metodo para obtener una fnp equivalente a una fbf dada, que laextraccion de los cuantificadores se realiza dando prioridad a los cuantificadores existenciales.

La aplicacion de las etapas de skolemizacion descritas en la Definicion 1.42 conlleva ciertasrestricciones para la fbf A a la que se aplica. Ası pues, para aplicar 2.a es preciso que en la fbfA no intervengan todos los sımbolos de constante del lenguaje de primer orden considerado (ensu signatura), y para aplicar 2.b es preciso que en la fbf A no intervengan todos los sımbolosde funcion del lenguaje de primer orden considerado (en su signatura). Por ello, no podemosafirmar que para todo lenguaje de primer orden L1 y toda fbf A de L1, mediante sucesivas etapasde skolemizacion, se obtiene una forma de Skolem a partir de A.

Podemos solucionar el problema (creado por la restriccion necesaria al asociar a cada fbfA de lenguaje de primer orden L1 una forma de Skolem) sin mas que ampliar el lenguaje L1

anadiendo a este un numero suficiente de sımbolos de constante y de sımbolos de funcion. Ladefinicion siguiente introduce el concepto de extension estandar para un lenguaje de primerorden.

Definicion 1.43 Dado un lenguaje L1 de primer orden, definimos L+1 como la extension de

L1 obtenida anadiendo a su alfabeto un conjunto infinito numerable C+ de nuevos sımbolos deconstante y, para cada natural n ∈ N∗, un conjunto infinito numerable F+

n de nuevos sımbolosde funcion n-arias.

Definicion 1.44 Contemplando toda fbf A de L1 como un enunciado de L+1 , un proceso de

skolemizacion para A consiste en aplicar reiteradamente y partiendo de una forma normalprenexa equivalente a A, cuantas etapas de skolemizacion en L+

1 sean necesarias hasta obteneruna forma normal de Skolem, SkA.

Descrito el procedimiento sintactico de skolemizacion de una fbf A, pasamos a establecer larelacion semantica entre A y una forma normal de Skolem asociada SkA. Con este objetivo, elprimer resultado es el siguiente teorema cuya demostracion es una consecuencia directa de ladefinicion de la semantica.

Page 49: Logica Clasica de Predicados Computacional 2014 2015

1.4. SKOLEMIZACION 41

Teorema 1.11 Sean L1 y L+1 lenguajes de primer orden tales que sus alfabetos a y a′ verifican:

a ⊂ a′

a′ \ a consta unicamente de sımbolos de constante y de sımbolos de funcion.

Entonces, dada una fbf, A, de L1 se tiene que

A es satisfacible en L1 si y solo si A es satisfacible en L+1 .

Podemos ya establecer el resultado fundamental de esta seccion.

Teorema 1.12 Si A es una fbf de L1 y SkA una forma de Skolem asociada a A, entonces

A es satisfacible en L1 si y solo si SkA es satisfacible en L+1 .

Demostracion: Basta probar el resultado para cada una de las etapas de skolemizacion.

Sea A = (∃x1) . . . (∃xn)(∃y)B(x1, . . . , xn, y) y a un sımbolo de constante que no in-terviene en A. Por la conmutatividad de los cuantificadores existenciales se tiene queA ≡ (∃y)(∃x1) . . . (∃xn)B(x1, . . . , xn, y). Por lo tanto, basta demostrarlo para una fbf deltipo A = (∃x)B(x).

Si (U, I) es una interpretacion en L1 y ξ una valuacion de variables tal que

Iξ( (∃y)B(y) ) = 1

entonces existe una valuacion de variables ξ′ con y-equivalente a ξ y tal que Iξ′(B(y)) = 1.

Ahora, si ξ′(y) = u, definimos la interpretacion (U, I ′) tal que I ′ difiere de I unicamenteen la interpretacion de a y tal que I ′(a) = u. Entonces, Iξ′(B[y/a]) = 1 y, en consecuencia,B[y/a] es satisfacible.

La demostracion del inverso es similar y se deja al lector.

Como en el ıtem anterior, bastara demostrarlo para

A = (∀x1) . . . (∀xn)(∃y)B(x1, . . . , xn, y)

Sea (U, I) una interpretacion en L1 y ξ una valuacion de variables tal que

Iξ((∀x1) . . . (∀xn)(∃y)B(x1, . . . , xn, y)) = 1

Sea (u1, . . . , un) ∈ Un y sea ξ′ una valuacion de variables tal que ξ′(z) = ξ(z) si z /∈x1, . . . , xn y tal que

ξ′(x1) = u1, . . . , ξ′(xn) = un

Tenemos, pues, que Iξ′((∃y)B(x1, . . . , xn, y)) = 1. Luego existe una valuacion de variablesξ′′

que es y-equivalente a ξ′ y tal que verifica la condicion Iξ′′ (B(x1, . . . , xn, y)) = 1.

Page 50: Logica Clasica de Predicados Computacional 2014 2015

42 CAPITULO 1. LOGICA DE PRIMER ORDEN

Sea f un sımbolo de funcion n-ario que no aparece en B (esto es posible debido a laampliacion de L1 a L+

1 ). Ahora, definimos la interpretacion (U, I ′) tal que I ′ difiere de Iunicamente en la interpretacion de f y tal que I ′(f) se define como sigue:

I ′(f)(u1, . . . , un) = ξ′′(y)

es decir, I ′ξ′(f(x1, . . . , xn)) = ξ′′(y), ası como I ′

ξ′′(B(x1, . . . , xn, y)) = 1, pues las interpre-

taciones (U, I) y (U, I ′) comparten el mismo dominio, ası que ξ′ y ξ′′

son valuaciones devariables asociadas a (U, I ′) igualmente.

Por el teorema de sustitucion, resulta finalmente que I ′ξ′(B(x1, . . . , xn, f(x1, . . . , xn)) = 1y, teniendo en cuenta que u1, . . . , un eran elementos cualesquiera de U , resulta que

I ′ξ((∀x1) . . . (∀xn)B(x1, . . . , xn, f(x1, . . . , xn)) = 1

y en consecuencia, que (∀x1) . . . (∀xn)B(x1, . . . , xn, f(x1, . . . , xn)) es satisfacible.

La demostracion del inverso es similar y se deja al lector.

Terminamos esta seccion con la definicion de una clase de fbfs que, como en el caso proposi-cional, es usada frecuentemente en el campo de la demostracion automatica y en la programacionlogica.

Definicion 1.45 Una fbf A se dice que esta en forma clausal si es una forma normal deSkolem y su matriz es una forma normal conjuntiva.

Como en el caso proposicional, usaremos una notacion mas concisa escribiendo la matrizcomo conjunto de clausulas y omitiendo los cuantificadores (ya que sabemos que todos sonuniversales)

Ejemplo 1.22 La forma clausal

(∀x)(∀y)(∀z)(P (x) ∧ (Q(f(x, y) ∨ P (g(z))) ∧ (¬Q(x, z) ∨ ¬P (a))

)se representa por el conjunto de clausulas

P (x), Q(f(x, y) ∨ P (g(z)),¬Q(x, z) ∨ ¬P (a)

El siguiente teorema es un corolario inmediato del Teorema 1.12.

Teorema 1.13 Para toda fbf A de L1 existe una forma clausal ACl tal que A y ACl son equi-satisfacibles.

Ejemplo 1.23

1. Para (∃x)(∀y)(∀z)(∃u)(∀v)(∃w)P (x, y, z, u, v, w), una forma clausal equisatisfacible es

(∀y)(∀z)(∀v)P (a, y, z, f(y, z), v, g(y, z, v))

es decir, P (a, y, z, f(y, z), v, g(y, z, v))

Page 51: Logica Clasica de Predicados Computacional 2014 2015

1.5. CONSECUENCIA LOGICA 43

2. Para (∀x)(∃y)(∃z)((¬P (x, y) ∧Q(x, z)) ∨R(x, y, z)

), una fnpcr equivalente es

(∀x)(∃y)(∃z)((¬P (x, y) ∨R(x, y, z)) ∧ (Q(x, z) ∨R(x, y, z)

)y una forma clausal equisatisfacible es

(∀x)((¬P (x, f(x)) ∨R(x, f(x), g(x))) ∧ (Q(x, g(x)) ∨R(x, f(x), g(x))

)es decir,

¬P (x, f(x)) ∨R(x, f(x), g(x)), Q(x, g(x)) ∨R(x, f(x), g(x))

eer r Como ya hemos indicado en el Ejemplo 1.21, el analisis de la transformacion a forma clausal,nos delata la importancia del orden de extraccion de los cuantificadores en el proceso deobtener una forma prenexa equivalente a A. Ası, por ejemplo, para la fbf

A = (∃x)(R(x)→ (∀y)¬T (x, y)

)∧ ¬(∃z)

((∀u)P (u, z)→ (∀v)Q(v, z)

)podemos obtener una fnn equivalente:

(∃x)(¬R(x) ∨ (∀y)¬T (x, y)) ∧ (∀z)((∀u)P (u, z) ∧ (∃v)¬Q(v, z))

y extraer los cuantificadores en el orden de ocurrencia en la fbf obteniendo la fbf equivalente

(∃x)(∀y)(∀z)(∀u)(∃v)((¬R(x) ∨ ¬T (x, y)) ∧ P (u, z) ∧ ¬Q(v, z))

La forma clausal obtenida al skolemizar, requiere introducir un sımbolo de constante y unsımbolo de funcion ternaria (por ejemplo, los sımbolos a y f):

¬R(a) ∨ ¬T (a, y), P (u, z),¬Q(f(y, z, u), z)

Ahora bien, si damos prioridad a la extraccion de los cuantificadores existenciales obtenemos

(∃x)(∀z)(∃v)(∀y)(∀u)((¬R(x) ∨ ¬T (x, y)) ∧ P (u, z) ∧ ¬Q(v, z))

Ahora el proceso para obtener una forma clausal requiere introducir un sımbolo de constantey un sımbolo de funcion monaria (por ejemplo, los sımbolos a y g):

¬R(a) ∨ ¬T (a, y), P (u, z),¬Q(g(z), z)

Para terminar este capıtulo, introducimos la nocion central en nuestro estudio, establecemosque entendemos por razonamiento correcto en la semantica de L1.

1.5. Consecuencia Logica

La nocion de consecuencia logica en la logica clasica de primer orden desempena el mismopapel que en el caso proposicional, y su definicion para fbfs arbitrarias hace uso de la nocion devaluacion de variables.

Definicion 1.46 Dado un conjunto Ω de fbfs y una fbf, C, se dice que C es consecuencia

logica, o se deriva, o se infiere semanticamente de Ω, denotado Ω |= C, si para todainterpretacion M = (U, I) y toda valuacion de variables ξ se tiene que

Si Iξ(Ai) = 1 para toda fbf Ai ∈ Ω entonces Iξ(C) = 1.

Page 52: Logica Clasica de Predicados Computacional 2014 2015

44 CAPITULO 1. LOGICA DE PRIMER ORDEN

eer r En la logica clasica proposicional la definicion de consecuencia logica asegura que si no existeninguna interpretacion que hace a A verdadera y a B falsa entonces A |=Lprop B; en L1

necesitamos exigir algo mas, como nos advierte este ejemplo: Es claro que

No existe ninguna interpretacion de L1 para la cual P (x) sea verdadera

y (∀x)P (x) falsa,

sin embargo, (∀x)P (x) no es consecuencia logica de P (x) ya que no se cumple que paratoda interpretacion M = (U, I) y toda valuacion de variables ξ si Iξ(P (x)) = 1 entoncesI((∀x)P (x)) = 1. Sin embargo, si nos limitamos a formular la definicion en terminos deenunciados (es decir, de fbfs cerradas), la definicion no difiere de la dada en el caso proposi-cional:

Dado un conjunto Ω de fbfs cerradas y una fbf, C, entonces C es consecuencia logica de Ωsi todo modelo para Ω es un modelo para A, es decir,

Si M es un modelo de Ω entonces M es un modelo para C

La definicion de consecuencia logica para la logica de primer orden fue dada por primera vezpor Tarski, 14 aunque algunos trabajos previos de Bolzano 15 y Hilbert 16 hacen uso de ella.

De nuevo, como en el caso proposicional, el significado de ∅ |= A coincide con el de |= A.Asimismo, si nos limitamos a fbfs cerradas, se tiene la equivalencia siguiente:

Ω, A |= B si y solo si Ω |= A→ B

en particular,

A1, A2, . . . , An |= A si y solo si |= (A1 ∧A2 ∧ · · · ∧An)→ A

si y solo si |= A1 → (A2 → (A3 · · · → (An → A) . . .))

y tambien, tenemos

Las fbfs A y B son logicamente equivalentes si y solo si A |= B y B |= A

A1, A2, . . . , An |= A si y solo si A1 ∧A2 ∧ · · · ∧An ∧ ¬A es insatisfacible

El siguiente ejemplo muestra algunas inferencias logicas de interes.

Ejemplo 1.24 En L1 son validas las siguientes inferencias:

1. (∀x)A(x) |= (∃x)A(x)

2. (∃x)(∀y)A(x, y) |= (∀y)(∃x)A(x, y)

3. (∀x)A(x) ∨ (∀x)B(x) |= (∀x)(A(x) ∨B(x))

4. (∃x)(A(x) ∧B(x)) |= (∃x)A(x) ∧ (∃x)B(x)

5. (∃x)A(x)→ (∀x)B(x) |= (∀x)(A(x)→ B(x))

14A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261–405, 1936.15B. Bolzano. Wissenschaftslehre, 1837. Traduccion en R. George, Theory of Science, Univ. California Press,

1972.16D. Hilbert. Grundlagen der Geometrie. Teubner, 1899.

Page 53: Logica Clasica de Predicados Computacional 2014 2015

1.5. CONSECUENCIA LOGICA 45

6. (∀x)(A(x)→ B(x)) |= (∀x)A(x)→ (∀x)B(x)

7. (∀x)(A(x)→ B(x)) |= ((∃x)(A(x)→ (∃x)B(x)

8. (∀x)(A(x)→ B(x)) |= (∀x)A(x)→ (∃x)B(x)

Page 54: Logica Clasica de Predicados Computacional 2014 2015

46 CAPITULO 1. LOGICA DE PRIMER ORDEN

1.6. Ejercicios

1. Diga cuales de las siguientes cadenas de sımbolos son formulas de un lenguaje de primerorden. Para aquellas que sean formulas, construya su arbol sintactico.

(∃x)(P (x)→ Q(x, y)), (∃x)P (x)→ Q(x, y), (∃x)P (y),

(∃x)(P (f(x)) ∨ ¬f(P (x))), (∀P )(P (x, y)→ P (y, x))

2. Diga si las siguientes afirmaciones son ciertas o no razonando la respuesta

a) La formula (∃x)Q(z) es una formula bien formada

b) Las formulas abiertas no son formulas bien formadas.

c) Una variable puede aparecer libre y ligada en una formula

d) [f(x)/g(y)]P (f(x), y) = P (g(y), y)

e) [y/g(y)]P (y, y) = P (g(y), g(y))

3. Utilice induccion completa sobre el grado de A para demostrar la siguiente propiedad:

Si a es una constante que no aparece en A, entonces x es libre en A si y solo si[x/a]A 6= A.

4. Formalizar en L1 las siguientes frases:

a) Elena es una estudiante de COU y comparte inquietudes con Isa, que es estudiantede Logopedia. Carlos y David tambien comparten inquietudes y ambos practican elciclismo.

b) No todas las aves saben volar.

c) Los elefantes son mas pesados que los ratones.

d) A todo alumno le gusta alguna de las asignaturas que cursa.

e) Hay alumnos a los que les gusta todas las asignaturas que cursa.

f ) No hay asignatura que no le agrade a ningun alumno.

g) Hay asignaturas que le gustan a todos los alumnos.

h) No todos los gatos son pardos.

i) Todo natural cuadrado perfecto es o multiplo de 4 o el sucesor de un multiplo de 4.

j ) Un conjunto es subconjunto de otro si y solo si todo elemento del primero es elementodel segundo.

k) Si la suma de dos numeros naturales es par, tambien es par la suma de sus cuadrados.

l) Todo heroe encuentra a un malvado a quien dar una leccion y a un honrado a quienproteger.

m) El conjunto de los numeros primos es infinito.

n) La adicion y la multiplicacion de numeros reales son operaciones asociativas y con-mutativas.

n) Todo numero entero mayor que 1 que solo es divisible por 1 y por sı mismo es primo.

Page 55: Logica Clasica de Predicados Computacional 2014 2015

1.6. EJERCICIOS 47

5. Formalizar en L1 los razonamientos siguientes:

a) El padre de Juan es poeta y autor de libros de poesıa. Hay poetas que no publicanlibro alguno. Quien tiene un padre poeta, solo compra libros de poesıa si su padre hapublicado algun libro. Por lo tanto, Juan compra libros de poesıa.

b) No es cierto que cualquier filosofo sea mas sabio que cualquier quımico. Los filosofosson mas sabios que los aficionados a los crucigramas. Por lo tanto, si ningun quımicoes filosofo, hay quien no es filosofo ni aficionado a los crucigramas.

c) Todo el que plagia el trabajo ajeno es un inepto. De todos es sabido que los expertosen programacion no son ineptos y que algunos expertos en programacion dominan lastecnicas de la programacion paralela. Por lo tanto, algunos de los que dominan lastecnicas de la programacion paralela, no plagian el trabajo ajeno.

d) Todas las enfermedades infecciosas son controlables. Quien padece una enfermedadcontrolable, o no se preocupa por la enfermedad o se automedica. Luis es un deportistaque nunca se automedica, pero que padece una enfermedad infecciosa. Por lo tanto,hay deportistas que no se preocupan por la enfermedad que padecen.

e) Todo estudiante que deja la adquisicion de conocimientos sobre una materia para lasemana antes del examen, tiene una disculpa interesante. Hay estudiantes aburridoscuyas disculpas son aburridas. No hay aburridos interesantes. Ası pues, de lo dichose concluye que no hay quien preocupandose de adquirir conocimientos sobre unamateria durante todo el curso, sea aburrido.

f ) Las sustancias radioactivas tienen vida corta o un valor medicinal. Ningun isotopodel uranio que sea radioactivo tiene vida corta. Por tanto, si todos los isotopos deluranio son radioactivos, todos los isotopos del uranio tienen un valor medicinal.

6. Probar las siguientes equivalencias:

(∃y)(∀x)(P (x) ∧Q(y)) ≡ (∀x)(∃y)(P (x) ∧Q(y))

(∀x)(∃y)(P (y) ∧ (Q(x)→ R(y))

)≡ (∃y)(∀x)

(P (y) ∧ (Q(x)→ R(y))

)7. Dada la fbf

A = ¬(∀x)((∃y)P (x, y) ∨ ¬(∀z)Q(z, x)

)∧ (∀t)

(R(t)→ S(t)

)a) Obtener el conjunto de las subformulas de A.

b) Obtener el conjunto de las subformulas que ocurren positivamente en A.

c) Obtener el conjunto de las subformulas que ocurren negativamente en A.

8. Sean las fbfs:

a) (∀x)P (y)→ ¬P (x).

b) (∀x)(∀y)(Q(x, y, z)→ (P (y)→ ¬R(x))).

c) (∀x)¬(∀y)P (x)→ S(x, y).

d) (∀x)(∀y)(P (x)→ S(x, y))→ ¬(∀y)Q(x, y, z).

Para cada ocurrencia de un sımbolo de variable, determinar si tal ocurrencia es libre oligada.

Page 56: Logica Clasica de Predicados Computacional 2014 2015

48 CAPITULO 1. LOGICA DE PRIMER ORDEN

9. Hallar Vlibres para cada una de las fbfs siguientes:

a) (∀x)P (x, y)→ P (x, a)

b) (∀x)(P (x, y)→ P (x, a))

c) (∀x)((∃y)P (x, g(a, y))→ (∃z)P (y, z)

)10. Determinar para cada una de las fbfs siguientes si el termino f(x, z) es libre para x:

a) (∀y)(P (x, y)→ P (y, a))

b) Q(z)→ ¬(∀x)(∀y)R(x, y, a)

c) (∀x)Q(x)→ (∀y)P (x, y)

d) (∀y)(P (f(x, y), x)→ E(z, g(x, y)))

11. Dados los terminos h(x, y) y g(a, f(y, z)), determinar si son libres para cada una de lasvariable x, y y z en las fbfs siguientes:

a) (∀z)(P (z, y, a) ∧ (∀x)Q(g(x, z))

)b) (∀x)R(f(x, a), y)→ ¬R(f(x, a), z)

c) P (f(x, a), x, b)→ ¬P (f(y, b), z, b)

12. Dados los terminos f(x, u) y f(x, f(z, u)), determinar si son libres para cada una de lasvariable x, y y u en las fbfs siguientes:

a) (∀x)P (x, y, z)→ (∀z)P (z, x, u))

b) (∀y)P (y, f(x, y), z)→ (R(x)→ Q(u))

13. Evalue las siguientes sustituciones

a) [x/f(y)]((∀x)P (x)→ Q(x));

b) [y/f(y)]((∀x)(¬P (y) ∨ (∃y)Q(x, y)))

14. Hallar [x/f(x, z)]A para cada uno de los siguientes casos:

a) A = (∀y)P (y, f(x, y))→ Q(x)

b) A = (∀x)(∀z)(Q(z)→ Q(x))

c) A = (∀y)Q(g(y))→ (∀z)R(x, y, z)

d) A = (∀y)R(x, g(x), y)→ (∀z)Q(f(x, z))

15. La composicion de sustituciones no es conmutativa, y por eso una composicion como[y/s] [x/t] se evalua sobre una formula sustituyendo secuencialmente las variables: enprimer lugar sustituimos la variable x y posteriormente la variable y. Definimos la susti-tucion simultanea de las variables x1,. . . ,xn por los terminos t1,. . . ,tn respectivamente yse denota como x1/t1, . . . , xn/tn como la aplicacion que, sobre una formula A sustituyesimultaneamente todas las apariciones libres de las variables x1,. . . ,xn por los terminost1,. . . ,tn respectivamente.

Evalue la sustitucion x/g(y), y/g(x)A(x, y) y deduzca que

x/g(y), y/g(x) 6= [x/g(y)] [y/g(x)]

x/g(y), y/g(x) 6= [y/g(x)] [x/g(y)]

Page 57: Logica Clasica de Predicados Computacional 2014 2015

1.6. EJERCICIOS 49

16. Evalue las siguientes sustituciones:

a) x/f(x), y/aA(x, f(y))

b) x/f(y), y/aA(x, f(y))

c) x/g(y), y/g(x)A(g(x), g(x))

d) [x/g(y)] [y/g(x)]A(g(x), g(x))

e) [y/g(x)] [x/g(y)]A(g(x), g(x))

17. Calcular las siguientes composiciones:

a) [z/b] [y/g(z, a)] [x/f(y)]

b) [z/f(x, a)] [y/x] [x/a]

c) [z/a] [y/f(z)] [x/g(z, y)]

18. Probar que si A es una fbf cerrada tambien lo es [x/a]A

19. Dada una fbf A, definir en terminos de su arbol sintactico los siguientes conceptos:

a) Ocurrencia positiva de una fbf B en A.

b) Ocurrencia negativa de una fbf B en A.

c) Ocurrencia libre de una variable v en A.

d) Ocurrencia ligada de una variable v en A.

20. Sea Σ = (a, b, c, f, g, P,Q) la signatura del conjunto de fbfs

Ω = P (a), P (b), P (c), P (f(a)), P (f(b)), P (f(c)), P (g(a, b)), P (g(a, c)), P (g(b, c)),

P (g(f(b), c)), P (g(f(c), f(b))), (∀x)Q(x, x), (∃x)Q(x, f(x))Sea (U, I) una interpretacion para L1 donde U = C∗, C es el alfabeto de la lengua espanolay

- I(a) = “la”

- I(b) = “ma”

- I(c) = “ireo”

- I(f)(d) = d si |d| = 1 y, en otro caso, el resultado de eliminar la primera letra en d.Por ejemplo, I(f)(“hasta”) = “asta”.

- I(g) asocia a cada par (d, d′) la concatenacion de d y d′. Por ejemplo, I(g)(“por”,“cal”) = “porcal”.

- I(P ) consiste en el conjunto de palabras de la lengua espanola. Por ejemplo, “topo”∈ I(P ), “opot” /∈ I(P ).

- I(Q) consiste en el conjunto de pares (d, d′) tales que d es una subcadena de d′. Porejemplo, (“amo”, “gamo”) ∈ I(Q), (“repta”, “paleta”) 6∈ I(Q).

Hallar I(A) para toda fbf A ∈ Ω. 17

17A. Galton. Logic for Information Technology. John Wiley and Sons. 1990.

Page 58: Logica Clasica de Predicados Computacional 2014 2015

50 CAPITULO 1. LOGICA DE PRIMER ORDEN

21. Considere la siguiente interpretacion (U, I): con U = N: I(a) = 0, I(f)(n,m) = n + m,I(g)(n,m) = n · m e I(P ) es la relacion de igualdad. Interprete las siguientes fbfs ydetermine si (U, I) es un modelo para ellas:

(∀x)P (g(x, a), x) (∀x)(∀y)(P (f(x, a), y)→ P (f(y, a), x))(∀x)(∀y)(∃z)P (f(x, y), z) (∃x)P (f(x, x), g(x, x))

22. Considere la formula

A = (∀x)(∀y)((P (y, x) ∧ (P (x, a) ∨ E(x, a)))→ (P (a, f(x, y)) ∨ E(a, f(x, y)))

y la interpretacion (U, I) con U = Z; I(a) = 0; I(f)(n,m) = n ·m,

I(P ) = (n,m) | n < m; I(E) = (n,m) | n = m.

Determine si I es un modelo de A.

23. Sea Σ = (a, f, P,E) la signatura para la fbf 18

A = (∀x)(∀y)((P (y, x) ∧ (P (x, a) ∨ E(x, a)))→ (P (a, f(x, y)) ∨ E(a, f(x, y)))

a) Sea (U, I) una interpretacion para L1 donde U = Z y

1) I(a) = 0.

2) I(f) es el producto de numeros enteros.

3) I(P ) es la relacion < en Z.

4) I(R) es la relacion de igualdad en Z.

Describir en lenguaje natural la informacion contenida en A por esta interpretaciony hallar I(A).

b) Sea (U ′, I ′) una interpretacion para L1 donde U ′ = Z3 = 0, 1, 2 y

1) I ′(a) = 2.

2) I ′(f) es la suma en Z3

3) I ′(P ) = ≡3, la relacion de congruencia modulo 3.

4) I ′(E) es la relacion R definida como (n,m) ∈ I ′(R) si y solo si n+ 1 ≡3 m.

Describir en lenguaje natural la informacion contenida en A por esta interpretaciony hallar I ′(A).

24. Describa, si existe, un modelo para las siguientes formulas

(∀x)(P (x)→ P (f(x))) (∀x)(Q(x, y)→ Q(y, x))

25. Sea t un termino basico, A una fbf, M = (U, I) una interpretacion para L1, x un sımbolode variable y ξ una valuacion de variables asociada a (U, I).

Probar que para toda valuacion ξ′ que sea x-equivalente a ξ con ξ′(x) = I(t) se tiene que

Iξ′(A) = Iξ([x/t]A)

18E. Burke y E. Foxley. Logic and its Applications. Prentice Hall. Series in Computer Science. 1996.

Page 59: Logica Clasica de Predicados Computacional 2014 2015

1.6. EJERCICIOS 51

26. Dadas la fbfs siguientes:

a) (∀x)(∀y)P (x, y)→ (∀x)(∀y)P (y, x)

b) P (x, y)→ P (y, x)

c) P (f(x))→ P (x)

d) (∀x)P (x)→ P (f(x))

Determinar para cada una de ellas si es

i) valida.

ii) Verdadera en una interpretacion pero no valida.

iii) Satisfacible pero no verdadera en ninguna interpretacion.

iv) Insatisfacible.

27. Para cada una de las siguientes condiciones

i) valida.

ii) Verdadera en una interpretacion pero no valida.

iii) Satisfacible pero no verdadera en ninguna interpretacion.

iv) Insatisfacible.

Construir una fbf que las satisfaga.

28. Probar que la fbf P (x) → (∀x)P (x) es verdadera en toda interpretacion M = (U, I) talque U consta de exactamente un elemento.

29. Demuestre que si c es una constante que no aparece en A(x), entonces (∀x)A(x) es validasi y solo si A(c) es valida.

30. Probar, haciendo uso de la definicion de la semantica, que

a) (∀x)P (x)→ P (a) es valida.

b) (∃x)P (x)→ P (a) no es valida.

c) (∀x)P (x) ∧ (∃y)¬P (y) es insatisfacible.

31. Probar que las siguientes fbfs son validas

a) (∀x)A→ (∃x)A

b) (∀x)(A ∧B)↔ ((∀x)A ∧ (∀x)B)

c) ((∀x)A ∨ (∀x)B)→ (∀x)(A ∨B)

32. Probar que

a) (∀x)P (x) ∧ (∃y)¬P (y) es insatisfacible.

b) (∀x)P (x)→ (∃y)P (y) es valida.

c) P (a)→ ¬(∃x)P (x) es satisfacible pero no valida.

d) (∀x)P (x) ∨ (∃y)¬P (y) es valida.

Page 60: Logica Clasica de Predicados Computacional 2014 2015

52 CAPITULO 1. LOGICA DE PRIMER ORDEN

e) Si en B no aparece la variable x y Q ∈ ∀, ∃, entonces

1) (Qx)(A→ B) ≡ ((Qx)A→ B)

2) B → (Qx)A ≡ (Qx)(B → A(x))

33. Dar un modelo para el siguiente conjunto de fbfs

Ω = (∀x)(P (x)→ Q(x)), (∃x)P (x), (∃x)¬P (x)

34. Determinar cuales de los siguientes conjuntos de fbfs son satisfacibles y, para cada uno deellos, dar un modelo:

a) (∀x)(∃y)P (x, y), (∀x)¬P (x, x)b) (∃x)(∀y)P (x, y), (∀x)¬P (x, x)c) (∀x)(P (x) ∨Q(x)),¬(∃x)P (x),¬Q(a)d) (∃x)(P (x), (∀x)(P (x)→ Q(x)), (∀x)¬Q(x)e) (∀x)(P (x)→ (∃y)Q(x, y)), (∀x)(∀y)(Q(x, y)→ R(y)), P (a) ∧ ¬R(a)

35. Probar que ∧,∨ y ↔,∃ no son conjuntos adecuados de conectivas en L1.

36. SiMod(X) denota el conjunto de los modelos de la fbf X, expresar en terminos deMod(A)y Mod(B) los siguientes conjuntos

a) Mod(A ∧B)

b) Mod(A ∨B)

c) Mod(A ∧ ¬B)

d) Mod(A→ B)

37. Sean A y B dos fbfs tales que Vlibres(A) = Vlibres(B) y sean A′ y B′ sus cierres universales.Probar que

A ≡ B si y solo si A′ ≡ B′

38. (Principio de dualidad) Demuestra que si en una equivalencia logica en la que no inter-vienen las conectivas → ni ↔ se intercambian ∧ y ∨; ∀ y ∃ se obtiene otra equivalencialogica.

39. Obtener una forma normal prenexa logicamente equivalente a la fbf A siguiente

(∀x)(P (x) ∧ (∃y)(¬Q(x, y) ∨ (∀z)R(x, z)) ∧ ((∃y)¬R(x, u) ∨Q(x, y))

)40. Obtener una forma normal prenexa logicamente equivalente para las fbfs siguientes

a) (∀x)P (x)→ (∃x)Q(x)

b) (∀x)(∀y)[(∃x)(P (x, z) ∧ P (y, z))→ (∃u)Q(x, y, u)]

c) (∀x)[P (x) ∧ (∀y)(∃w)(¬Q(x, y)→ (∀z)R(a, x, y))]

d) (∀x)(∀y)[(∃z)P (x, y, z) ∧ ((∃u)(Q(x, u)→ (∃v)Q(y, v))]

Page 61: Logica Clasica de Predicados Computacional 2014 2015

1.6. EJERCICIOS 53

41. Transformar en forma clausal las fbfs siguientes

a) (∃x)P (x)→ ( (∀x)(Q(x) ∨ S(x))→ (∀x)(∃y)R(x, y) )

b) (∀x)[¬P (x, a)→ (∃y)(P (y, g(x)) ∧ (∀z)(P (z, g(x))→ P (y, z)))]

c) (∀x)(∀y)[(∃z)P (z) ∧ (∃u)(Q(x, u)→ (∃v)q(y, v))]

42. Demostrar que son validas las inferencias logicas del Ejemplo 1.24

43. Demostrar que |= es un operador de consecuencia, 19 es decir, si utilizamos la notacion

|=: 2L1 −→ 2L1

para la aplicacion tal que para cada Ω ∈ 2L1 se tiene que |= (Ω) es el conjunto de fbfs queson consecuencia logica de Ω, entonces |= satisface las siguientes propiedades:

(i) Ω ⊆ |= (Ω) (Inclusion)

(ii) |= (|= (Ω)) ⊆ |= (Ω) (Transitividad)

(iii) Si Ω ⊆ Γ, entonces |= (Ω) ⊆ |= (Γ) (Monotonıa)

44. Dado un conjunto de fbfs Γ, una constante c y una fbf A con a lo sumo una variable librex, demuestre las siguientes afirmaciones:

a) si Γ |= A[x/c ], entonces Γ |= (∃x)A.

b) si Γ |= (∀x)A, entonces Γ |= A[x/c ]

c) si se tiene que

Γ |= (∃x)A,

Γ ∪ A[x/c ] |= B y

c no aparece en Γ ni en A ni en B,

entonces Γ |= B.

d) si Γ |= A[x/c ] y c no aparece en Γ ni en A, entonces Γ |= (∀x)A.

45. Demuestre las siguientes equivalencias e inferencias

a) (∃x)(A(x)→ B(x)) ≡ ((∀x)A(x)→ (∃x)B(x))

b) (∀x)(A(x)→ B(x)) |= ((∀x)A(x)→ (∀x)B(x))

c) (∀x)(A(x)→ B(x)) |= ((∀x)A(x)→ (∃x)B(x))

d) (∀x)(A(x)→ B(x)) |= ((∃x)A(x)→ (∃x)B(x))

e) (∃x)B(x)→ (∀x)A(x)→ (∀x)(A(x)→ B(x))

19David J. Israel. The Role(s) of Logics in Artificial Intelligence Handbook of Logic in Artificial Intelligenceand Logic Programming. Volume 1. Logical Foundations. Ed Dov M. Gabbay, C.J. Hogger and J.A. Robinson.Oxford Science Publications. 1993.

Page 62: Logica Clasica de Predicados Computacional 2014 2015

54 CAPITULO 1. LOGICA DE PRIMER ORDEN

Page 63: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 2

Modelos de Herbrand

Indice

2.1. Interpretaciones de Herbrand . . . . . . . . . . . . . . . . . . . . . . . 56

2.2. Teorema de Herbrand y Semidecidibilidad de L1 . . . . . . . . . . . 61

2.2.1. Arboles Semanticos en L1 . . . . . . . . . . . . . . . . . . . . . . . . . . 63

2.2.2. Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

2.3. Modelos Finitos y Modelos Infinitos . . . . . . . . . . . . . . . . . . . 71

2.3.1. Compacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.4. Indecidibilidad de L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

En este capıtulo estudiamos un resultado fundamental de la logica clasica de primer or-den que, como veremos, tiene especial interes en la automatizacion de las deducciones y en lasemantica de los lenguajes de programacion logica:

El estudio de la satisfacibilidad de un conjunto de fbfs de la logica clasica de primerorden se puede reducir al estudio de la satisfacibilidad de un conjunto de clausulasbasicas (es decir, clausulas en las que no intervienen variables). En definitiva, sepuede reducir al estudio de la satisfacibilidad un conjunto (posiblemente infinito) declausulas de la logica proposicional.

Comencemos con el siguiente analisis: Como venimos insistiendo, el conjunto de posiblesinterpretacionesM = (U, I) en la logica clasica de primer orden, incluso el conjunto de posiblesinterpretaciones para una sola fbf, es extremadamente complejo. La complejidad se debe a quese requiere la eleccion del dominio o universo del discurso, U , y para cada dominio U nosencontramos con la amplia variabilidad para I, es decir, las interpretaciones para el conjunto desımbolos de constantes, para el conjunto de sımbolos de funcion y para el conjunto de sımbolosde predicados.

Es pues poco razonable afrontar a las bravas la tarea de determinar si una fbf A es o no valida(incluso limitandonos a formas normales), pues necesitarıamos comprobar que A es verdaderaen toda interpretacion M = (U, I).

Afortunadamente, se dispone de una teorıa que simplifica drasticamente el conjunto de inter-pretaciones que se necesita considerar, esta teorıa se debe a Jacques Herbrand y, como veremos,

Page 64: Logica Clasica de Predicados Computacional 2014 2015

56 CAPITULO 2. MODELOS DE HERBRAND

permite el estudio de la demostracion automatica de teoremas limitandonos a considerar inter-pretaciones con dominios uniformes. Ademas, lo que es mas importante, estas interpretacionesse definen sintacticamente en terminos de los sımbolos del lenguaje, con la simplicidad que elloconlleva.

Los resultados estudiados en este capıtulo son quizas los mas relevantes de la logica; sin ellosno hubiera sido posible abordar la tarea de obtener razonadores automaticos aceptablementeeficientes y, en consecuencia, de hacer de la logica una herramienta util para las Ciencias de laComputacion.

Comenzamos introduciendo el concepto basico en esta teorıa, el dominio uniforme anunciadoanteriormente.

Definicion 2.1 Dado un lenguaje de primer orden L1(C,F ,P), se llama universo de Herbrand

de L1(C,F ,P), denotado HL1, al conjunto cuyos elementos son:

los terminos basicos de L1(C,F ,P), si C 6= ∅ y, en caso contrario,

los terminos basicos del lenguaje cuya signatura es (c,F ,P) donde c es un sımbolo deconstante adicional, denominada constante de Herbrand.

Puesto que estamos interesados en la teorıa de Herbrand en relacion a su contribucion a lademostracion automatica de teoremas (mas concretamente, en los sistemas de demostracion porrefutacion), y puesto que (como hemos visto en el capıtulo anterior) para toda fbf, A, existe unaforma clausal equisatisfacible con A, desarrollaremos la teorıa de Herbrand para el estudio de lasatisfacibilidad de conjuntos de clausulas.

2.1. Interpretaciones de Herbrand

Comencemos definiendo el universo de Herbrand para un conjunto de clausulas:

Definicion 2.2 Sea Ω un conjunto de clausulas, CΩ el conjunto de sımbolos de constantes queintervienen en Ω y FΩ el conjunto de sımbolos de funcion que intervienen en Ω.

El universo o dominio de Herbrand para Ω, denotado HΩ, se define del modo siguiente:

Si CΩ 6= ∅, entonces HΩ es la clausura inductiva libremente generada del conjunto CΩ paraFΩ, es decir, el conjunto de terminos basicos descritos por las siguientes reglas:

1. Si a es un sımbolo de constante que ocurre en Ω, entonces a ∈ HΩ.

2. Si f es un sımbolo de funcion n-aria que ocurre en Ω, y t1, . . . , tn ∈ HΩ entoncesf(t1, . . . , tn) ∈ HΩ.

Si CΩ = ∅, entonces HΩ es la clausura inductiva libremente generada del conjunto cpara FΩ, donde c es la constante de Herbrand; es decir, HΩ es el conjunto de terminosbasicos descritos por las siguientes reglas:

1. c ∈ HΩ

2. Si f es un sımbolo de funcion n-aria que ocurre en Ω y t1, . . . , tn ∈ HΩ entoncesf(t1, . . . , tn) ∈ HΩ

Page 65: Logica Clasica de Predicados Computacional 2014 2015

2.1. INTERPRETACIONES DE HERBRAND 57

Obviamente, por definicion, HΩ es a lo sumo infinito numerable y se tiene que

HΩ es finito si y solo si FΩ = ∅

eer rLa idea basica de Herbrand es que, para interpretar Ω, no es preciso considerar conjuntosarbitrarios como dominios (es decir, la primera componente de (U, I)), sino que basta con-siderar los individuos sobre los que “habla” Ω, es decir, los individuos determinados porlos elementos de la signatura de Ω. De este modo, Herbrand pone sobre el tapete el hechode que la naturaleza de los objetos de un dominio de interpretacion es irrelevante. Lo queverdaderamente importa son las relaciones que hay entre dichos objetos. En su caso, propor-ciona una interpretacion de “corte sintactico”, donde los sımbolos del lenguaje se interpretanrefiriendose a expresiones del propio lenguaje. La restriccion que impone es que usa soloterminos cerrados (pero el hecho se puede generalizar) 1.

Como para todo conjunto inductivo libremente generado, si Ω es finito y HΩ es infinito, podemosconsiderar HΩ como una union numerable de conjuntos finitos:

HΩ =⋃i∈N

Hi,Ω

donde

1. H0,Ω = CΩ si CΩ 6= ∅ y H0,Ω = c si CΩ = ∅.

2. Para i > 0 definimos Hi+1,Ω como la union de Hi,Ω y el conjunto de terminos de la formaf(t1, . . . , tn) para todo sımbolo de funcion n-aria que ocurre en Ω y toda n-upla de terminos(t1, . . . , tn) en Hi,Ω .

De esta forma, podemos decir que el merito de Herbrand es haber logrado tender un puenteentre lo finito y lo infinito gracias a la idea de contemplar un dominio infinito (numerable)como una sucesion de dominios finitos. Esta sucesion puede contemplarse como una sucesion deaproximaciones a este dominio infinito.

¿Que ocurre con la segunda componente de (U, I)? Tambien en esta componente podemos limi-tarnos a considerar el conjunto de enunciados atomicos sobre los individuos representados porlos elementos de HΩ. Este conjunto se describe mediante la siguiente definicion:

Definicion 2.3 Sea Ω un conjunto de clausulas y PΩ el conjunto de sımbolos de predicadosque intervienen en Ω. La base de Herbrand de Ω, denotada BΩ, se define como el conjunto deatomos basicos generados por PΩ y HΩ, es decir, el conjunto de atomos de la forma siguiente:

Si P ∈ PΩ es un sımbolo de predicado n-ario y t1, . . . , tn ∈ HΩ, entonces P (t1, . . . , tn) ∈ BΩ.

Definicion 2.4 Dado un conjunto de clausulas, Ω, se llama instancia basica de una clausulaC ∈ Ω a una clausula obtenida reemplazando las variables de C por elementos de HΩ.

1En definitiva, la interpretacion en una estructura de Herbrand consiste en realizar sustituciones por terminoscerrados e interpretar los terminos cerrados como ellos mismos

Page 66: Logica Clasica de Predicados Computacional 2014 2015

58 CAPITULO 2. MODELOS DE HERBRAND

eer r Si Ω es un conjunto finito de clausulas, la definicion de base de Herbrand nos permite pensarcomo en el caso proposicional: cada elemento de BΩ puede ser considerado como un atomoimplıcitamente referido en Ω, cada uno de los cuales puede contemplarse como un sımboloproposicional. La diferencia es que el conjunto de sımbolos proposicionales que intervienenen una formula o en un conjunto finito de formulas de la logica proposicional es siemprefinito y el conjunto de atomos “implıcitamente” referido en un conjunto finito de clausulasΩ de L1(C,F ,P) puede ser infinito numerable o finito (segun intervenga o no en Ω algunsımbolo de funcion).

Establecida esta analogıa, recordemos que, puesto que una interpretacion I para un conjuntofinito de formulas, Ω, en la logica clasica proposicional es una asignacion de valores de verdadpara los sımbolos proposicionales p1, . . . , pk que intervienen en Ω, podemos representar Imediante el subconjunto de p1, . . . , pk a los que I asigna el valor de verdad 1. Ası, porejemplo, si es p, q, r, s el conjunto de sımbolos proposicionales que intervienen en Ω y lainterpretacion I para Ω es tal que I(p) = I(q) = I(s) = 1 y I(r) = 0 podemos usar larepresentacion I = p, q, s.Estas consideraciones conducen a la definicion siguiente.

Definicion 2.5 Sea Ω un conjunto de clausulas. Una interpretacion para Ω se dice que es unainterpretacion de Herbrand, denotada MH,Ω si es de la forma (HΩ , IH,Ω) cuyo dominio esel universo de Herbrand para Ω y donde IH,Ω asocia cada sımbolo de constante y a cada sımbolode funcion el propio sımbolo, es decir,

IH,Ω(a) = a y IH,Ω(f) = f

en definitiva, si (HΩ , IH,Ω) es una interpretacion de Herbrand, para todo termino basico t setiene que

IH,Ω(t) = t.

eer r Herbrand afirma que basta interpretar sintacticamente, tanto los sımbolos de constante comolos sımbolos de funcion; ası, por ejemplo, tenemos que

IH,Ω

(f)(f(a)) = f(f(a))

Por su propia definicion, dos interpretaciones de Herbrand para Ω solo difieren en la inter-pretacion de los sımbolos de predicado. En consecuencia:

Toda interpretacion de Herbrand queda determinada por un subconjunto de la basede Herbrand, BΩ, concretamente: el conjunto de atomos basicos a los que IH,Ω asignael valor de verdad 1. En consecuencia, el cardinal del conjunto de interpretacionesde Herbrand para Ω, es el cardinal del conjunto de subconjuntos de BΩ, es decir, 2ℵ0.

Definicion 2.6 Un modelo de Herbrand para un conjunto de clausulas, Ω, es una interpreta-cion de Herbrand para Ω tal que, para toda clausula en Ω, se verifica que si Cbi es una instanciabasica de Ci entonces IH,Ω(Cbi ) = 1.

En la definicion anterior, hemos tenido en cuenta que Ω no es mas que una notacion abreviadade una forma clausal (es decir, de una forma normal de Skolem cuya matriz es una forma normalconjuntiva) en la que hemos omitido los cuantificadores, debido a que conocemos que todos sonuniversales, y hemos escrito la matriz como conjunto de clausulas.

Page 67: Logica Clasica de Predicados Computacional 2014 2015

2.1. INTERPRETACIONES DE HERBRAND 59

Ejemplo 2.1 Para Ω = P (x) ∨Q(x), R(f(y)) se tiene que

1. En Ω no interviene ningun sımbolo de constante, por lo tanto,

HΩ = c, f(c), f(f(c)), . . . , fn(c), . . .

donde c es la constante de Herbrand.

2. BΩ = P (fn(c)), Q(fk(c)), R(f l(c)) | n, k, l ∈ N.

La interpretacion de Herbrand IH,Ω = P (fn(c)), R(fk(c)) | n, k ∈ N es un modelo deHerbrand para Ω.

La siguiente interpretacion es un modelo para Ω, pero no es una interpretacion de Herbrand:

(1, 2; a; 1; f ; (1, 2), (2, 2); P ; 1, Q; 2, R; 2)

Ejemplo 2.2

1. Para Ω1 = P (a) ∨ ¬Q(b, x) ∨R(y), ¬P (b) ∨ ¬Q(z, u) se tiene que

- HΩ1= a, b.

- BΩ1= P (a), P (b), Q(a, a), Q(a, b), Q(b, a), Q(b, b), R(a), R(b).

El cardinal del conjunto de interpretaciones de Herbrand para Ω1 es el cardinal del conjuntode subconjuntos de BΩ1 , es decir, 28.

La interpretacion de Herbrand IH,Ω1= P (a) es un modelo de Herbrand para Ω1 ya que

al ser P (a) verdadera, tambien lo es P (a) ∨ ¬Q(b, x) ∨ R(y) y puesto que P (b) es falsa(porque P (b) 6∈ P (a)) se tiene que ¬P (b) ∨ ¬Q(z, u) es verdadera.

2. Para Ω2 = P (x, f(y)) ∨ ¬Q(y, x), ¬P (z, u) ∨Q(u, u) se tiene que

- HΩ2= c, f(c), f(f(c)), . . . , fn(c), . . ..

- BΩ2= P (fn(c), fm(c)), Q(fk(c), f l(c)) | n,m, k, l ∈ N.

Por lo tanto, el cardinal del conjunto de interpretaciones de Herbrand para Ω2 es 2ℵ0 .

Veamos que la interpretacion de Herbrand

IH,Ω2= P (fn(c), fm(c)), Q(fk(c), fk(c)) | n,m.k. ∈ N

es un modelo de Herbrand para Ω2:

- Puesto que, para todo n y m en N, P (fn(c), fm(c)) es verdadera, tenemos que laclausula P (x, f(y)) ∨ ¬Q(y, x) es verdadera.

- Puesto que, para todo k en N, Q(fk(c), fk(c)) es verdadera, tambien es verdadera laclausula ¬P (z, u) ∨Q(u, u).

Podemos ya establecer el resultado fundamental que nos muestra la utilidad de los modelosde Herbrand.

Page 68: Logica Clasica de Predicados Computacional 2014 2015

60 CAPITULO 2. MODELOS DE HERBRAND

Teorema 2.1 Sea Ω un conjunto de clausulas, entonces Ω tiene un modelo si y solo si tiene unmodelo de Herbrand.

Demostracion: Supongamos que M = (U, I) es una interpretacion que satisface a Ω. De-finimos la interpretacion de Herbrand asociada a M, denotada MH,Ω como la interpretacion(HΩ, I

∗H,Ω

), donde I∗H,Ω

es el siguiente subconjunto de BΩ:

I∗H,Ω

= P (t1, . . . , tn) ∈ BΩ | (I(t1), . . . , I(tn)) ∈ I(P )Veamos que I∗

H,Ωsatisface Ω:

Por ser (U, I) un modelo para Ω, si C es una clausula de Ω y Var(C) = x1, . . . , xn se tieneque I( (∀x1) . . . (∀xn) C(x1, . . . , xn)) = 1. Por lo tanto, para toda n-upla de terminos basicos(t1, . . . , tn) se tiene que I(C(t1, . . . , tn)) = 1, es decir, para toda clausula C ∈ Ω y para todainstancia basica Cb de C se tiene que I(C) = 1 y por lo tanto existe un literal basico lbi en Cb

tal que I(lbi ) = 1. Ahora, por definicion de I∗H,Ω

, se tiene que I∗H,Ω

(lbi ) = 1. Consecuentemente,I∗H,Ω

satisface Ω.

El inverso es obvio ya que todo modelo de Herbrand es un modelo.

Ejemplo 2.3 Para Ω = P (x), Q(y, f(a)) se tiene que:

- HΩ = a, f(a), f(f(a)), . . . , fn(a), . . ..

- BΩ = P (fn(a)) | n ∈ N ∪ Q(fn(a), fm(a)) | n ∈ N,m ∈ N∗. 2

Una interpretacion para Ω que no es una interpretacion de Herbrand es

(D, I) = (1, 2; a; 2; f ; (1, 2), (2, 1); P ; 1, Q; (1, 2), (2, 2))La interpretacion de Herbrand para Ω asociada a esta interpretacion es

IH,Ω = P (f2n+1(a)) | n ∈ N ∪ Q(fn(a), f2k(a)) | n ∈ N, k ∈ N

ya que para t, t′ ∈ HΩ se tiene que

1. I(P )(t) = 1 si y solo si t ∈ P (f2n+1(a)) | n ∈ N∗

2. I(Q)(t, t′) = 1 si y solo si (t, t

′) ∈ Q(fn(a), f2k(a)) | n ∈ N, k ∈ N∗

eer r El Teorema 2.1 no es cierto si Γ es un conjunto de formulas arbitrarias en lugar de un conjuntode clausulas. En efecto, un modelo para Γ = P (a), (∃x)¬P (x), es, por ejemplo, M =(N, 4,∅, n ∈ N | n = 2k). Sin embargo, puesto que BΓ = P (a), las dos interpretacionesde Herbrand para Ω son ∅ y P (a) y ninguna de ellas es un modelo para Γ.

Como venimos destacando, la teorıa de Herbrand nos ha permitido eliminar la variabilidadde la primera componente en (U, I) y limitarnos a un unico dominio que puede ser finito o infinitonumerable. Respecto a la segunda componente, si el dominio de Herbrand tiene n elementos, elnumero de posibles interpretaciones de Herbrand es tambien finito, concretamente, su numerode elementos es 2n. Pero si el dominio de Herbrand es infinito numerable, el cardinal del con-junto de interpretaciones de Herbrand es infinito no numerable, concretamente, 2ℵ0 . ¿Podemospues decir que hemos avanzado de modo significativo de cara a poder gestionar el conjunto deinterpretaciones? Mostrar que la respuesta es afirmativa es el objetivo de la siguiente seccion.

2Recordemos que f0(a) = a

Page 69: Logica Clasica de Predicados Computacional 2014 2015

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1 61

2.2. Teorema de Herbrand y Semidecidibilidad de L1

La busqueda de un procedimiento de decision para verificar la validez de una formula de lalogica de primer orden, fue el objetivo de no pocos matematicos durante muchos anos. El primerodel que se tiene constancia fue Leibnitz (1646-1716). A principios de este siglo lo replanteo Peano(1858-1932) y se convirtio en prioritario desde 1917, cuando Hilbert lo propuso entre un conjuntode 23 problemas que no habıan sido resueltos hasta la fecha.

Este problema era conocido como un problema de decision.3 En 1936, Alonzo Church 4

demostro que no puede existir un procedimiento de decision completo para L1. Este resultado seconoce como teorema de Church. El mismo ano, como comentamos en el capıtulo 2 del primervolumen, Alan Turing 5 demostro que el problema de la decidibilidad para L1 es equivalente aun problema referente a las maquinas de Turing y cuyo enunciado es como sigue:

Sea MT una maquina de Turing y sea α una entrada a MT . ¿Existe un algoritmopara determinar si MT parara o no?

La respuesta a este problema, conocido como el problema de la parada, es que no existe talalgoritmo.

Para profundizar sobre esta cuestion de la semidecidibilidad de la logica clasica de primer ordeny su repercusion en su uso computacional existen una amplıa bibliografıa. No nos resistimos amencionar el trabajo del profesor Carlos Areces 6 al que llama La Bella y la Bestia:

“La logica de primer orden es un lenguaje hermoso. Como logica, es una gran candi-data a ser la “Bella” de esta historia. Es un lenguaje elegante, simple de caracterizary de buen comportamiento teorico. Pero cuando la miramos desde un punto de vistacomputacional, por ejemplo, si queremos usarla como lenguaje de especificacion delconocimiento basico de un robot, entonces se transforma en la “Bestia”. Ya que noexiste un algoritmo que nos permita decidir si una formula de la logica clasica deprimer orden es satisfacible (es decir, si la formula tiene al menos algun modelo,cualquiera que sea este). Aun el problema de saber si una formula de primer ordenes satisfacible en un modelo dado es difıcil. Es decir, aun si nos dicen “aquı estala sentencia φ, y aquı esta el modelo M = (D, I) (!finito!); por favor, dıgame siφ es cierta en M . Ese problema (que se llama “chequeo de modelos”) no tiene unasolucion eficiente: puede requerir espacio polinomial y tiempo exponencial (es un pro-blema en PSpace). En una aplicacion, un comportamiento de tiempo exponencial esusualmente inaceptable. Para entender por que, miremos un ejemplo. Supongamosque la formula φ tiene 5 operadores, y que el modelo M no es demasiado grande,digamos 10 elementos. Entonces, dependiendo de la estructura exacta de φ y de M ,chequear que φ es cierta en M nos puede llevar !105 pasos! Veamos, si cada pasonos toma un segundo de computacion entonces:

105 = 100, 000 pasos o segundos ∼ 28 horas.

3Entscheidungsproblem, en el original aleman.4A. Church. A note on the Entscheidungsproblem. Journal of Symbolic Logic, 1:40–41 y 101–102 (una correc-

cion), 1936.5A. M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math.

Soc., 42:230–265, 1936. Correccion en v43 pp 544–546, 1937.6INRIA Lorraine. web: www.loria.fr/ areces

Page 70: Logica Clasica de Predicados Computacional 2014 2015

62 CAPITULO 2. MODELOS DE HERBRAND

Bueno, es cierto que un segundo es mucho tiempo para una computadora, y que enese tiempo es posible que realice miles de operaciones y no una sola operacion co-mo dijimos arriba. Consigamos entonces una supercomputadora que pueda realizarun millon de pasos por segundo. Quizas ahora ¿no tendrıamos problemas? No lotendrıamos en el ejemplo que consideramos antes (que resolverıamos en solo 0,1 se-gundos), pero consideremos una formula de tamano 10, y un modelo de 25 elementos.Entonces:

2510 = 95.367.431.640.625 pasos ∼ 95.367.431 segundos ∼ 26.490 horas.

Contemos como contemos y no importa lo rapida que sea nuestra computadora,problemas que requieran tiempo exponencial, siempre tendran instancias demasia-do difıciles de resolver.

Pero las noticias no son tan malas como parecen. No todas las formulas de la logicade primer orden son tan difıciles como los ejemplos que discutimos mas arriba. Re-cordemos que decir que un determinado problema esta en una clase de complejidadC (como PSpace o ExpTime) quiere decir que existe alguna instancia del problemaque requiere tanto espacio o tiempo. Podrıan haber muchas otras instancias muchomas simples.

Y aquı es donde el tema se pone interesante. Seguramente en una aplicacion dadano usaremos todo el poder expresivo de la logica clasica de primer orden. ¿Quizas esposible elegir fragmentos mas simples y que de todas formas tengan la expresividadnecesaria para nuestra aplicacion?

En efecto, ciertos fragmentos de la logica clasica de primer orden son decidibles. Por ejemplo,la clase de las formulas validas de L1 en la que no intervienen sımbolos de funcion y en la quetodos los sımbolos de predicado que intervienen son monarios. Tambien lo es el conjunto defbfs con a lo sumo 2 variables, es decir, en las que pueden aparecer a los sumo los sımbolos devariable x1 y x2 (tanto si consideramos la logica clasica de primer orden con igualdad o sin ella),denotado LPO2. 7

La mayorıa de las clases decidibles son clases de formulas prenexas que se definen sintacti-camente mediante restricciones sobre la estructura del prefijo, restricciones sobre su matriz orestricciones sobre ambos. Destaquemos algunas:

1. Sea A una formula en fnp en la que no intervienen sımbolos de funcion. Entonces, existeun procedimiento de decision para la satisfacibilidad de A si el prefijo de A tiene una delas formas siguientes:

a) (∀y1) . . . (∀yk), es decir, no tiene ningun sımbolo de cuantificacion existencial.

b) (∃x1) . . . (∃xn), es decir, no tiene ningun sımbolo de cuantificacion universal.

c) (∃x1) . . . (∃xn)(∀y1) . . . (∀yk), es decir, ningun sımbolo de cuantificacion universal pre-cede a un sımbolo de cuantificacion existencial.

d) solo tiene un sımbolo de cuantificacion existencial.

7Sin embargo, LPOk, con k ≥ 3 es indecidible.

Page 71: Logica Clasica de Predicados Computacional 2014 2015

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1 63

e) (∃x1) . . . (∃xn)(∀y1)(∀y2)(∃z1) . . . (∃zk), es decir, tiene a lo sumo dos cuantificadoresuniversales que no estan separados por ningun sımbolo de cuantificacion existencial.

f ) (∃x1) . . . (∃xn)(∀y)(∃z1) . . . (∃zk), es decir, tiene un solo sımbolo de cuantificacion uni-versal.8

2. Sea A una formula en fnpc. Entonces existe un procedimiento de decision para la satisfa-cibilidad de A si la matriz de A es de una de las siguientes formas:

a) Todas las clausulas son unitarias, es decir, de un solo literal.

b) Todos los atomos son positivos o todos los atomos son negativos.

c) Todos los predicados son monarios. 9

Sin embargo, la situacion no es completamente negativa para L1: existen procedimientosllamados de semidecision como establece el Teorema de Church:

Teorema 2.2 La Logica Clasica de Predicados de Primer Orden no es decidible pero sı essemidecidible, es decir, existen algoritmos tales que: dada una formula A, si esta formula esvalida, el algoritmo determina su validez tras una secuencia finita de pasos; si la formula no esvalida, el algoritmo puede finalizar con esta conclusion tras una secuencia finita de pasos o bienpuede no terminar.

Como vemos en el enunciado, la limitacion radica en que no tenemos asegurada la finalizaciondel algoritmo si su entrada es una formula que no es valida. A estos procedimientos tambien seconocen como semi-algoritmos. En la practica, esto supone que, en muchos casos, no sabre-mos distinguir entre formulas no-validas que provocan una ejecucion indefinida del algoritmo yformula validas que requieren mucho tiempo de ejecucion.

Los tres metodos de demostracion que estudiaremos en este curso: Tablas Semanticas, Meto-do de Gilmore y Resolucion, son por lo tanto, semi-algoritmos.

2.2.1. Arboles Semanticos en L1

El concepto de arbol semantico introducido en el primer volumen para la logica proposicionalpuede ser extendido a L1 como sigue:

Definicion 2.7 Sea ∆ = P1, P2, . . . , Pn, . . . una sucesion de atomos basicos. Un arbol

semantico respecto de ∆ es un arbol binario que satisface las condiciones siguientes:

Cada arco esta etiquetado con un literal Pi o ¬Pi donde Pi ∈ ∆.

Cada arco de profundidad k esta etiquetado con el literal Pk o con el literal ¬Pk dondePk ∈ ∆.

8Sin embargo, los siguientes fragmentos son indecidibles:

1) (∀x1) . . . (∀xn)(∃y1) . . . (∃yk), es decir, los cuantificadores existenciales estan precedidos de tres sımbolos decuantificacion universal.

2) (∀x1)(∀x2)(∀x3)(∃y1) . . . (∃yk), es decir, ningun sımbolo de cuantificacion existencial precede a un sımbolode cuantificacion universal.

9El lector interesado en estos resultados puede consultar el libro: G. Hunter. Metalogica. Introduccion a lametateorıa de la logica clasica de primer orden. Paraninfo, 1981.

Page 72: Logica Clasica de Predicados Computacional 2014 2015

64 CAPITULO 2. MODELOS DE HERBRAND

Los literales que etiquetan dos arcos que nacen del mismo nodo son opuestos.

Cada Pi ∈ ∆ ocurre en cada rama a lo sumo una vez (bien como etiqueta Pi o bien comoetiqueta ¬Pi).

Si ∆ es finito, todo arbol semantico respecto de ∆ es finito. Si ∆ es infinito, existen arbolessemanticos finitos e infinitos (infinitos de ramificacion finita, concretamente, infinitos binarios)respecto de ∆.

A cada nodo N de un arbol semantico se le asocia una interpretacion de Herbrand parcial(asignacion de valores de verdad a un subconjunto de atomos basicos, es decir, un subconjuntode la base de Herbrand) que a cada atomo P le asigna:

El valor 1 si un arco del camino que une N con la raız esta etiquetado por el literal P .

El valor 0 si un arco del camino que une N con la raız esta etiquetado por el literal ¬P ,

ningun valor si ni P ni ¬P ocurren en el camino que une N con la raız.

Ejemplo 2.4 El arbol de la Figura 2.1 es un arbol semantico respecto a ∆ = P (a), P (b), Q(a, b).

•I3H (P (a)) = 1I3H (P (b)) = 1I3H (Q(a, b)) = 1

•I2H (P (a)) = 1

I2H (P (b)) = 1

@@@@•

I4H (P (a)) = 1I4H (P (b)) = 1I4H (Q(a, b)) = 0

Q(a, b) ¬Q(a, b)

•I6H (P (a)) = 1I6H (P (b)) = 0I6H (Q(a, b)) = 1

• I5H (P (b)) = 0I5H (P (a)) = 1

@@@@•I7H (P (a)) = 1I7H (P (b)) = 0I7H (Q(a, b)) = 0

Q(a, b) ¬Q(a, b)

•I8H (P (a)) = 0

•I1H (P (a)) = 1

HHHH

HHH

!!!!

!!!!!

P (b) ¬P (b)

•aaaaaaaaa

P (a) ¬P (a)

Figura 2.1: Ejemplo de arbol semantico.

Definicion 2.8 Sea Ω un conjunto de clausulas y sea ∆ = P1, P2, . . . , Pn, . . . una enumeracionde los atomos de la base de Herbrand BΩ (que siempre existe, pues BΩ es a lo sumo numerable).Un arbol semantico para Ω respecto de ∆ es completo si la interpretacion de Herbrand asociadaa cada hoja asigna valores de verdad a todos los Pi ∈ ∆.

Obviamente, se tiene el resultado siguiente

Teorema 2.3 Un arbol semantico completo para Ω respecto de ∆ es finito si y solo si en Ω nointervienen sımbolos de funcion.

Como consecuencia, si en Ω no intervienen sımbolos de funcion, es decir, si HΩ es finito po-demos extender de modo natural el metodo de Quine visto en el primer volumen para el casoproposicional.

Page 73: Logica Clasica de Predicados Computacional 2014 2015

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1 65

Ejemplo 2.5 Consideremos el razonamiento:

H1 : (∀x)(P (x)→ Q(x))

H2 : (∀x)(Q(x)→ R(x))

C : (∀x)(P (x)→ R(x))

Para analizarlo hemos de analizar la insatisfacibilidad de la forma clausal

Ω = ¬P (x) ∨Q(x), ¬Q(x) ∨R(x), P (a), ¬R(a)

Puesto que HΩ = a y BΩ = P (a), Q(a), R(a) el numero de interpretaciones de Herbrandpara Ω es 23 = 8 y el conjunto de instancias basicas es:

Ω′ = ¬P (a) ∨Q(a),¬Q(a) ∨R(a), P (a),¬R(a)

Por lo tanto, podemos aplicar el metodo de Quine obteniendo el arbol semantico:

•aaaaaaaaa

R(a) ¬R(a)

• I2H (A) =?HHHHHHH

!!!!

!!!!!

•I1H (A) = 0

•I3H (A) =?@@@@

•I4H (A) = 0

•I5H (A) = 0

•I6H (A) = 0

Q(a) ¬Q(a)

P (a) ¬P (a)

donde A = (¬P (a) ∨Q(a)) ∧ (¬Q(a) ∨R(a)) ∧ P (a) ∧ ¬R(a). Por lo tanto, el razonamientoes valido.

Veamos que ocurre cuando HΩ es infinito.

Definicion 2.9 Un nodo N de un arbol semantico para Ω respecto de una enumeracion ∆ =P1, P2, . . . , Pn, . . . de los atomos de BΩ se denomina nodo fallo si la interpretacion parcialde Herbrand IH asociada a N es tal que I(Cbi ) = 0 para alguna instancia basica de una clausulaCi de Ω, pero ninguna de las interpretaciones parciales de Herbrand asociadas a sus ascendientesposee esta propiedad.

Un nodo fallo nos proporciona una interpretacion (parcial) de Herbrand IH que hace falsa aΩ. Por lo tanto, no es preciso considerar las extensiones de I. De aquı la definicion siguiente.

Definicion 2.10 Un arbol semantico respecto de ∆ = P1, P2, . . . , Pn, . . . se dice cerrado sitodas sus hojas son nodos fallo.

Definicion 2.11 Un nodo N de un arbol semantico respecto de la sucesion de atomos ∆ =P1, P2, . . . , Pn, . . . se denomina un nodo inferencia si sus dos descendientes inmediatos sonnodos fallo.

Page 74: Logica Clasica de Predicados Computacional 2014 2015

66 CAPITULO 2. MODELOS DE HERBRAND

Ejemplo 2.6 Dado Ω = P (x), ¬P (x) ∨ Q(f(x)), ¬Q(f(a)), la figura muestra un arbolsemantico cerrado para Ω respecto de la sucesion

∆ = P (a), Q(a), P (f(a)), Q(f(a)), . . .

•I2H (¬Q(f(a)) = 0

Q(f(a))

P (a) ¬P (a)

•I3H (¬P (a) ∨Q(f(a)) = 0

•I4H (P (a)) = 0

•(∗)

HHHHH

HH

!!!!

!!!!!

¬Q(f(a))

•aaaaaaaaa

En este arbol solo el nodo marcado con (∗) es un nodo inferencia.

2.2.2. Teorema de Herbrand

Llegamos a uno de los teoremas mas destacados de la logica de primer orden, debido a quees la base de la mayorıa de los demostradores automaticos de teoremas existentes. Su interesradica en que proporciona un modo sistematico de analizar todas las posibles interpretacionesde Herbrand mediante el uso de un arbol semantico.

Teorema 2.4 (de Herbrand) Un conjunto Ω de clausulas es insatisfacible si y solo si, aso-ciado a cada arbol semantico completo, existe un arbol semantico cerrado y finito.

Demostracion: Supongamos que Ω es insatisfacible. Sea T un arbol semantico completo paraΩ. Para cada rama ρ de A, sea IρH el conjunto de todos los literales positivos que etiquetanlos arcos de ρ. Entonces IρH es una interpretacion de Herbrand para Ω y puesto que Ω esinsatisfacible, existe una clausula C en Ω y una instancia basica Cb de C tal que IρH (Cb) = 0.

Puesto que el numero de literales de Cb es finito, existe un nodo N en la rama ρ tal que lainterpretacion parcial de Herbrand a el asociada hace falsa a Cb, pero ninguna de las interpre-taciones parciales de Herbrand asociadas a sus ascendientes posee esta propiedad. Por lo tanto,existe un nodo fallo N en la rama ρ que es o bien N o bien un ascendiente de N . Este hecholo tenemos asegurado para toda rama, por lo tanto, toda rama de T tiene un nodo fallo y enconsecuencia, existe un arbol semantico cerrado T ′ para Ω. Por otra parte, T ′ es finito; de noser ası, por el lema de Konig, existe al menos una rama infinita en T ′, es decir, sin nodos fallos,lo cual es imposible.

Inversamente, si a todo arbol semantico completo T para Ω le corresponde un arbol semanticocerrado, entonces toda rama contiene un nodo fallo, es decir, toda interpretacion de Herbrandfalsifica a Ω. Por lo tanto, por el Teorema 2.1, Ω es insatisfacible.

El teorema de Herbrand 10 admite otro enunciado equivalente que no utiliza el concepto dearbol semantico y que es mencionado habitualmente en la literatura como teorema fundamental

de Herbrand:10J. Herbrand. Investigation in proof theory: from Frege to Godel. In J. van Heijenoort, editor, A source book

in mathematical logic, 1879–1931. Harvard University Press, 1967.

Page 75: Logica Clasica de Predicados Computacional 2014 2015

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1 67

Teorema 2.5 Un conjunto de clausulas, Ω, es insatisfacible si y solo si existe un conjunto finitode instancias basicas de clausulas de Ω que es insatisfacible.

Demostracion: Sea Ω insatisfacible y T un arbol semantico completo para Ω. Por el teoremaanterior, existe un arbol cerrado finito T ′ asociado a T . Sea Ω′ el conjunto de todas las instanciasbasicas de clausulas que son falsas en los nodos fallos de T ′. Ω′ es finito por serlo el numero denodos fallos de T ′. Por otra parte, puesto que Ω′ es falso en toda interpretacion de Herbrandpara Ω′, por el Teorema 2.1, Ω′ es insatisfacible.

Inversamente, sea Ω′ un conjunto finito de instancias basicas de clausulas de Ω tal que Ω′ esinsatisfacible. Probemos que Ω es insatisfacible. En caso contrario, existirıa un modelo M paraΩ y, por el Teorema 2.1, existirıa un modelo de Herbrand para Ω que serıa asimismo un modelopara Ω′.

Podrıamos decir, que el teorema de Herbrand permite desarrollar la semantica de la logicade primer orden utilizando unicamente medios sintacticos. Por otra parte, el teorema funda-mental de Herbrand es un teorema de compacidad sintactica y, como veremos a continuacion,proporciona un semialgoritmo para el estudio de la satisfacibilidad en la logica de primer orden:

2.2.2.1. Semialgoritmo para SAT en L1

Vamos a describir un semialgoritmo para SAT que es una extension del algoritmo de Quinepara la logica proposicional. Dado un conjunto Ω de formulas de L1, se procede como sigue:

Se transforma Ω en un conjunto equisatisfacible de clausulas, Γ. Es decir, se transforma Ωen una forma clausal.

Se genera una enumeracion del conjunto de instancias basicas de las clausulas de Γ

∆ = C1, . . . , Cn, . . .

Se examina si este conjunto ∆ es insatisfacible utilizando el semialgoritmo siguiente quees esencialmente el metodo introducido por Gilmore. 11Su funcionamiento es identico alde Quine considerando los elementos de la base de Herbrand para definir las evaluacionesparciales de las formulas:

El Semialgoritmo de Gilmore

1. Para todo n, los arcos del arbol semantico de nivel n seran etiquetados con Cn y ¬Cn.

2. Un arbol semantico respecto a ∆ se construye usando el siguiente criterio:

Si todas las posibles extensiones de la interpretacion parcial de Herbrand aso-ciada a un nodo N , asignan el mismo valor de verdad a Γ no es preciso construirel subarbol del arbol semantico completo respecto a ∆ que tiene a N como raız.En su lugar, se etiquetara N con el valor de verdad que la interpretacion parcialasociada a el asigna a ∆.

11P. Gilmore. A proof method for quantification theory; its justification and realization. IBM J. Res. Develop.,4:28–35, 1960.

Page 76: Logica Clasica de Predicados Computacional 2014 2015

68 CAPITULO 2. MODELOS DE HERBRAND

3. Siguiendo este procedimiento,

Si se obtiene un arbol cerrado, entonces Γ, y por lo tanto Ω, es insatisfacible.

Si se obtiene un arbol en el que alguna de sus hojas esta etiquetada con una etiquetade la forma IiH (∆) = 1 entonces Γ, y por lo tanto Ω, es satisfacible.

En definitiva, si Ω es insatisfacible, podemos comprobar su insatisfacibilidad en un numero finitode etapas; pero si es satisfacible, el proceso puede no terminar ya que podrıa tener solo modelosde Herbrand infinitos.

El siguiente ejemplo nos muestra que existen fbfs para las que el analisis de su satisfacibilidadrequiere un arbol infinito.

Ejemplo 2.7 La formula

A =(P (a) ∧ (∀x)((P (x)→ P (f(x))

)→ (∀x)P (x)

es satisfacible. En efecto, (N, a ; 0, f ; (n, n + 1), P ; R) es un modelo para A. Sinembargo, como vamos a ver, A no es valida:

Una forma clausal simultaneamente satisfacible con ¬A es

Ω = P (a),¬P (x) ∨ P (f(x)),¬P (b)

El dominio de Herbrand para Ω es fn(a) | n ∈ N∪fn(b) | n ∈ N. La base de Herbrand paraΩ es P (fn(a)) | n ∈ N ∪ P (fn(b)) | n ∈ N. Por lo tanto, existen 2ℵ0 interpretaciones.

La interpretacion de Herbrand P (fn(a)) | n ∈ N satisface Ω. Por lo tanto, ¬A es satisfacibley en consecuencia, A no es valida.

Probemos que cualquier otra interpretacion de Herbrand que satisfaga a Ω ha de contener aP (fn(a)) | n ∈ N y por lo tanto es infinita. En efecto, toda interpretacion de Herbrand quesatisface a Ω ha de contener P (a) y no ha de contener a P (b) y, la segunda clausula en Ω (laclausula ¬P (x)∨P (f(x))) obliga a que si P (fn(a)) pertenece a un modelo de Herbrand para Ω,tambien P (fn(a)) ha de pertenecer a dicho modelo. Por lo tanto, no podremos encontrar ningunarbol finito que nos permita concluir el analisis para Ω ya que:

- No existe un arbol cerrado porque no es insatisfacible.

- No podemos encontrar ninguna rama finita que nos confirme la satisfacibilidad.

Ejemplo 2.8 Vamos a estudiar la validez de una inferencia utilizando el principio de refutaciony el algoritmo de Gilmore sobre la base de Herbrand de la formula obtenido tras hallar unaformula en forma normal de Skolem a partir de la refutacion.

(∀x)((∀y)P (y)→ Q(x)) |= (∀y)(∀x)(P (x)→ Q(y))

⇔ (∀x)(∀y)(P (y)→ Q(x)),¬(∀y)(∀x)(P (x)→ Q(y)) es insatisficible,

⇔ (∀x)(∀y)(P (y)→ Q(x)), (∃y)(∃x)¬(P (x)→ Q(y)) es insatisficible,

⇔ (∀x)(∀y)(P (y)→ Q(x)),¬(P (b)→ Q(a)) es insatisficible,

⇔ S = (∀x)(∀y)(P (y)→ Q(x)) ∧ ¬(P (b)→ Q(a)) es insatisficible.

Page 77: Logica Clasica de Predicados Computacional 2014 2015

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1 69

Dado que S no contiene funciones, el universo de Herbrand esta formado simplemente por lasconstantes, HS = a, b, y la base de herbrand es finita, BS = P (a), Q(a), P (b), Q(b).Llamemos A1 = (∀x)(∀y)(P (y)→ Q(x)) y A2 = ¬(P (b)→ Q(a)).

Para entender mejor el arbol que construimos a continuacion, es conveniente observar que losmodelos de Herbrand de A1 = (∀x)(∀y)(P (y)→ Q(x)) coinciden con los de la formula

(P (a)→ Q(a)) ∧ (P (a)→ Q(b)) ∧ (P (b)→ Q(a)) ∧ (P (b)→ Q(b));

las dos formulas no son logicamente equivalentes, pero sı son equivalentes en el universo deHerbrand.

P (b) ¬P (b)

0 (Por A2)

Q(a)

0 (Por A2)

¬Q(a)

0 (x = a, y = b en A1)

Ejemplo 2.9 Aunque el universo de Herbrand sea infinito, si la inferencia es valida, siemprepodremos encontrar un arbol finito que lo demuestre.

(∀x)P (x), (∀x)(P (x)→ Q(f(x))) |= Q(f(a))⇔⇔ S = (∀x)P (x) ∧ (∀x)(P (x)→ Q(f(x))) ∧ ¬Q(f(a)) es insatisfacible

El universo de Herbrand es

HS = a, f(a), f(f(a), f(f(f(a))), . . .

y la base de Herbrand es

BS = P (a), Q(a), P (f(a)), Q(f(a)), P (f(f(a))), Q(f(f(a))), . . . .

Llamemos A1 = (∀x)P (x), A2 = (∀x)(P (x) → Q(f(x))) y A3 = ¬Q(f(a)) para construir elarbol de Gilmore.

P (a) ¬P (a)

0 (x = a en A1)

Q(f(a))

0 (Por A3)

¬Q(f(a))

0 (x = a en A2)

Ejemplo 2.10 El razonamiento

(∃x)(P (x) ∧ (∀y)(D(y)→ L(x, y)))(∀x)(P (x)→ (∀y)(Q(y)→ ¬L(x, y)))

(∀x)(D(x)→ ¬Q(x))

Page 78: Logica Clasica de Predicados Computacional 2014 2015

70 CAPITULO 2. MODELOS DE HERBRAND

es valido si y solo si el siguiente conjunto es insatisfacible:

(∃x)(P (x) ∧ (∀y)(D(y)→ L(x, y))),

(∀x)(P (x)→ (∀y)(Q(y)→ ¬L(x, y))),

¬(∀x)(D(x)→ ¬Q(x))

Este conjunto es insatisfable si y solo si lo es el siguiente conjunto de formulas en forma normalprenexa:

(∃x)(∀y)(P (x) ∧ (D(y)→ L(x, y))),

(∀x)(∀y)(P (x)→ (Q(y)→ ¬L(x, y))),

(∃x)¬(D(x)→ ¬Q(x))

Y este es insatisfacible si y solo si lo es el siguiente conjunto formado por formulas en formanormal de Skolem:

(∀y)(P (a) ∧ (D(y)→ L(a, y))),

(∀x)(∀y)(P (x)→ (Q(y)→ ¬L(x, y))),

¬(D(b)→ ¬Q(b))

El universo de Herbrand es HS = a, b y la base de Herbrand

BS = P (a), P (b), Q(a), Q(b), D(a), D(b), L(a, a), L(a, b), L(b, a), L(b, b)

Construimos el arbol de Gilmore para A1 ∧A2 ∧A3, en donde

A1 = (∀y)(P (a) ∧ (D(y)→ L(a, y))),

A2 = (∀x)(∀y)(P (x)→ (Q(y)→ ¬L(x, y))),

A3 = ¬(D(b)→ ¬Q(b)).

D(b) ¬D(b)

0 (por A3)

Q(b) ¬Q(b)

0 (por A3)

P (a) ¬P (a)

0 (por A1)

L(a, b) ¬L(a, b)

0 (x = a, y = b en A2))0 (y = b en A1))

Ademas del Teorema 2.4, el Teorema 2.1 tiene otras consecuencias muy destacables, como lasque consideraremos en el resto de este capıtulo que sirven para confirmar la importancia de laaportacion de Herbrand.

Page 79: Logica Clasica de Predicados Computacional 2014 2015

2.3. MODELOS FINITOS Y MODELOS INFINITOS 71

2.3. Modelos Finitos y Modelos Infinitos

Un analisis superficial de la semantica de la logica de primer orden, nos podrıa llevar a laconclusion de que, al considerar interpretaciones con dominios de mayor cardinal, aumentamosla posibilidad de encontrar modelos para una formula.

Podrıamos realizar este analisis a traves de los siguientes ejemplos:

1. La formula (∃x)P (x)∧ (∃x)¬P (x) no tiene ningun modelo cuyo dominio conste de un soloelemento, pero es facil dar ejemplos de modelos cuyos dominios constan de dos elementos.

2. La formula (∃x)(P (x)∧Q(x))∧(∃x)(P (x)∧¬Q(x))∧(∃x)(¬P (x)∧¬Q(x)) no tiene ningunmodelo cuyo dominio conste de dos elementos, pero es facil dar ejemplos de modelos cuyosdominios constan de tres elementos.

3. Podrıamos seguir dando ejemplos de fbfs que no tienen modelos cuyo dominio conste den elementos, pero para las que es facil dar modelos cuyos dominios consten de n + 1elementos.

4. Analogamente, el conjunto de fbfs

(∀x)(∃y)R(x, y),¬(∃x)R(x, x), (∀x)(∀y)(∀z)((R(x, y) ∧R(y, z))→ R(x, z))

no tiene ningun modelo finito pero es facil dar ejemplos de modelos cuyo dominio es N.

El siguiente paso serıa dar una formula que no tiene ningun modelo infinito numerable, peropara la que existen modelos cuyo dominio es de cardinal infinito no numerable. Como veremos,el teorema de Lowenheim nos previene de este error: solo hemos de clarificar si una fbf (o unconjunto de fbfs) es satisfacible o no. En caso de ser satisfacible, como veremos en esta seccion(Teorema 2.7), podemos asegurar que tiene un modelo a lo sumo infinito numerable.

Definicion 2.12 Un conjunto de formulas Γ de L1 se dice que tiene la propiedad de modelo

finito si cumple que

Γ es satisfacible si y solo si existe un modelo (U, I) para Γ con U finito

Teorema 2.6 Todo conjunto finito Γ de formulas en forma prenexa de la forma

(∀x1) . . . (∃xn)(∀y1) . . . (∀yk)M(x1, . . . , xn, y1, . . . , yk)

(en la que no intervienen sımbolos de funcion) tiene la propiedad de modelo finito.

Demostracion: Basta considerar el Teorema 2.1 y que el universo de Herbrand para el conjuntode clausulas simultaneamente insatisfacible con Γ generado por el procedimiento introducido enla Seccion 1.4 es finito.

En cuanto a los modelos infinitos, tenemos los resultados siguientes.

Teorema 2.7 (de Lowenheim) Si una formula A es satisfacible entonces tiene un modelonumerable.

Page 80: Logica Clasica de Predicados Computacional 2014 2015

72 CAPITULO 2. MODELOS DE HERBRAND

Demostracion: Basta considerar una forma clausal simultaneamente satisfacible a A y apli-car el Teorema 2.1, que asegura la existencia de un modelo de Herbrand que es obviamentenumerable.

Teorema 2.8 (de Lowenheim-Skolem) Si un conjunto Ω de formulas es satisfacible enton-ces admite un modelo numerable

Demostracion: Puesto que todo lenguaje de primer orden es numerable, cualquier conjunto Ωconsiderado es numerable. Si Ω es infinito numerable, sea Ω = Ai | i ∈ N, podemos considerarpara cada formula Ai ∈ Ω una forma clausal Γi simultaneamente satisfacible con Ai y tal que losconjuntos de constantes y de funciones de Skolem asociados a ellas son disjuntos dos a dos. Por lotanto, podemos considerar el conjunto Γ = Γi | i ∈ N que es simultaneamente satisfacible conΩ. Ahora, el Teorema 2.1 asegura la existencia de un modelo de Herbrand, que es obviamentenumerable.

2.3.1. Compacidad

Como un resultado destacado mas, en esta seccion estudiamos el teorema de compacidad , quecaracteriza la satisfacibilidad de un conjunto infinito de formulas.

Teorema 2.9 (de compacidad) Un conjunto de fbfs de L1, Ω, es satisfacible si y solo si esfinitamente satisfacible, es decir, todo subconjunto finito es satisfacible.

Demostracion: Si Ω es satisfacible entonces, obviamente, es finitamente satisfacible.

Inversamente, supongamos que Ω es finitamente satisfacible. Entonces, Ω es satisfacible,ya que, en caso contrario, por el teorema fundamental de Herbrand, si Ωb es el conjunto deinstancias basicas de los elementos de Ω, existirıa un subconjunto finito de Ωb insatisfacible.Sea este conjunto Γb y sea Γ el subconjunto de Ω tal que toda clausula en Γb es una instanciabasica de una clausula de Γ. Puesto que Γb es finito, Γ es tambien finito y, por la hipotesis desatisfacibilidad finita de Ω, se tiene que Γ es satisfacible.

Ahora, por el Teorema 2.1, el conjunto Γb′

de instancias basicas de Γ es tambien satisfacible.Finalmente, puesto que Γb ⊆ Γb

′, se tiene que Γb es satisfacible, contra la hipotesis de partida

sobre este conjunto.

Como en el caso proposicional, se tiene el siguiente resultado que es una version equivalentedel teorema de compacidad.

Teorema 2.10 Ω |= A si y solo si existe un subconjunto finito Ω0 de Ω tal que Ω0 |= A.

En la Seccion 2.2 hemos hecho referencia a la equivalencia del problema de la decidibilidadpara L1 y el problema de la parada referente a las maquinas de Turing. Terminaremos estecapıtulo estableciendo una nueva relacion con el problema de la decidibilidad para L1, esta vezcon el problema de convergencia de Post.

Page 81: Logica Clasica de Predicados Computacional 2014 2015

2.4. INDECIDIBILIDAD DE L1 73

2.4. Indecidibilidad de L1

El problema siguiente se conoce como problema de la correspondencia de Post:

Dada una secuencia [(a1, b1), . . . , (ak, bk)] de pares de palabras no vacıas sobre elalfabeto 0, 1, encontrar una secuencia de ındices [i1, . . . , in] tal que ai1 . . . ain =bi1 . . . bin.

A una secuencia de este tipo se le denomina una solucion del problema de correspondencia[(a1, b1), . . . , (ak, bk)].

Ejemplo 2.11 Para el problema de correspondencia

[(1, 101), (10, 00), (011, 11), (1001, 111)]

una solucion es la secuencia 1, 3, 2, 3 ya que a1a3a2a3 = 101110011 = b1b3b2b3

Teorema 2.11 (de Post) El problema de la correspondencia de Post es indecidible, es decir,no existe ningun algoritmo que, dado como entrada el sistema de correspondencia siguiente

[(a1, b1), . . . , (ak, bk)]

termine con salida SI, si el sistema tiene solucion, y con salida NO, si el sistema no tienesolucion.

Definicion 2.13 Sean ∆1 y ∆2 dos conjuntos de palabras sobre un alfabeto finito Γ. Decimos que∆1 es reducible a ∆2 si existe una aplicacion Φ : Γ∗ −→ Γ∗ tal que satisface las dos condicionessiguientes:

(i) Φ es decidible. Es decir ,existe un algoritmo que proporciona Φ(γ) para toda entrada γ ∈ Γ∗.

(ii) Para toda palabra γ ∈ Γ∗ se tiene que:

γ ∈ ∆1 si y solo si Φ(γ) ∈ ∆2

La funcion Φ se llama una funcion de reduccion de ∆1 a ∆2.

De la definicion anterior se tiene que:

Si ∆1 es reducible a ∆2 y ∆2 es decidible, entonces ∆1 tambien es decidible.

El teorema de Post y una reduccion del problema de correspondencia de Post al problema dela validez de las fbfs en L1 permite demostrar el teorema siguiente. Un estudio detallado quedafuera de los lımites del curso. 12

Teorema 2.12 (de indecidibilidad de Church) Sea L1 un lenguaje de primer orden cuyasignatura es Σ = (c, f, g, P) donde f y g son sımbolos de funciones monarias y P es unsımbolo de predicado binario. Entonces el conjunto de formulas validas es un conjunto indecidi-ble.

12El lector interesado puede consultar el libro de V. Sperschneider and G. Antoniou. Logic: a foundation forComputer Science. Addison-Wesley, 1991.

Page 82: Logica Clasica de Predicados Computacional 2014 2015

74 CAPITULO 2. MODELOS DE HERBRAND

2.5. Ejercicios

1. Dado un lenguaje de primer orden L1 con signatura (c,∅, P), donde P es un sımbolo depredicado monario, determinar su universo de Herbrand, HL1

.

2. Sea A(x1, . . . , xn) una fbf en la que no intervienen ni sımbolos de funcion ni sımbolos de cuanti-ficacion. Demostrar que (∀x1) . . . (∀xn)A(x1, . . . , xn) tiene un modelo si y solo si tiene un modelocuyo dominio consta de un unico elemento.

3. Dada la formula A = (∃x)(P (x)→ (∀y)P (y)),

a) Hallar un conjunto de clausulas, Ω, simultaneamente satisfacible con A.

b) Hallar HΩ y BΩ.

c) Probar que A es valida.

4. Dada la formula A = (∃x)P (x)→(Q(a) ∧ ¬(∀y)R(y) ∧ (∃y)D(y)

)a) Hallar un conjunto de clausulas Ω simultaneamente satisfacible con A.

b) Hallar HΩ y BΩ.

c) Dar, si existe, un modelo de Herbrand para Ω.

5. Hallar HΩ y BΩ para un conjunto de clausulas simultaneamente satisfacible con el conjunto de fbfs

(∃z)((∀y)(y > z)→ (∃x)(x2 > 3)), (∀x)(∃y)(y = x2)

6. Hallar BΩ para un conjunto de clausulas equisatisfacible con la formula ¬A, siendo

A = (∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ Q(x, z)

)∧((∀x)(∃y)P (x, y)→ (∀x)(∃y)Q(x, y)

)7. Para cada una de las formulas siguientes

a) (∀x)(P (x)→ (∃y)R(y))

b) (∀x)(∀y)((∃z)P (z) ∧ (∃u)(Q(x, u)→ (∃v)Q(y, v))

)c) (∃x)

(¬(∃y)P (y)→ (∃z)(Q(z)→ R(x))

)(i) Transformarla en forma clausal.

(ii) Determinar su universo y base de Herbrand.

8. Sea Ω = P (x) ∨Q(x), R(f(y))

a) Determinar el universo y la base de Herbrand para Ω.

b) Construir un arbol semantico completo para Ω.

c) Dar un modelo de Herbrand para Ω.

9. Sea Ω = P (x),¬P (x) ∨Q(x, a),¬Q(y, a)

a) Dar el universo y la base de Herbrand para Ω.

b) Construir un arbol semantico completo para Ω.

c) Construir un arbol semantico cerrado para Ω.

10. Encontrar un conjunto insatisfacible Ωb de instancias basicas de clausulas de Ω para cada uno delos dos conjuntos de clausulas

a) Ω = P (x, a, g(x, b)),¬P (f(y), z, g(f(a), b))

Page 83: Logica Clasica de Predicados Computacional 2014 2015

2.5. EJERCICIOS 75

b) Ω = P (x), Q(x, f(x)) ∨ ¬P (x),¬Q(g(y), z)

11. Demostrar que la fbf

(∀x)(∀y)(P (x, y)↔ S(x))→ (∀y)(P (x, y)→ S(x))

es valida siguiendo el siguiente proceso:

a) Encontrar un conjunto de clausulas Ω simultaneamente insatisfacible con A.

b) Encontrar, mediante el metodo de Gilmore, un conjunto finito insatisfacible Ωb de instanciasbasicas de clausulas de Ω.

12. Demostrar que la fbf

(∀x)((∀y)(P (x, y)→ ¬P (y, x)) ∧ (∃y)P (x, y)

)∧ (∀x)(∀y)(∀z)

((P (x, y) ∧ P (y, z))→ P (x, z)

)no tiene modelos finitos.

13. Demostrar por induccion estructural que si MH = (H, IH) es un modelo de Herbrand, para unaformula A entonces para todo termino t que interviene en A (no necesariamente basico) se tieneque

IHξ(t) = IH(ξ(t))

donde ξ en el segundo termino de la igualdad se entiende como una sustitucion.

14. Para cada una de las formulas siguientes

a) (∀x)(∀y)(P (f(x), x) ∧R(y, f(y)))

b) (∀x)(P (a, f(x))→ R(f(x), b))

c) (∀x)(P (x, f(b))→ R(f(x), b))

d) (∀x)(P (x, f(b))→ (∃y)R(x, y))

e) (∀x)(P (x, f(b))→ (∀y)R(x, y))

(i) Transformarla en forma clausal.

(ii) Dada la interpretacion de Herbrand

IH = P (fn(a), b) | n ∈ N ∪ R(fn(a), fm(b)) | n,m ∈ N

determinar si IH es o no un modelo de cada una de las formas clausales obtenidas en el ıtemanterior.

15. Para cada una de las formulas siguientes

a) (∀x)(Q(x)→ R(x, f(x)))

b) (∀x)(Q(x)→ (∃y)R(x, y))

c) (∃x)(Q(x) ∧R(x, f(x)))

(i) Transformarla en forma clausal.

(ii) Dada la interpretacion de Herbrand

IH = Q(fn(a)) | n ∈ N ∪ R(a, fm(b)) | n,m ∈ N∗

determinar si IH es o no un modelo de cada una de las formas clausales obtenidas en el ıtemanterior.

Page 84: Logica Clasica de Predicados Computacional 2014 2015

76 CAPITULO 2. MODELOS DE HERBRAND

16. Dada la formula A = (∃x)(P (x)→ (∀y)P (y)), halle un conjunto Ω de formulas en forma normal deSkolem tal que Ω sea satisfacible si y solo si lo es A. Determine el universo y la base de Herbrandde Ω y estudie la satisfacibilidad y la validez de A utilizando el metodo de Gilmore.

17. Estudie la validez de la siguientes inferencias utilizando el metodo de Gilmore:

a)

(∃x)(P (x) ∧ (∀y)(D(y)→ L(x, y)))(∀x)(P (x)→ (∀y)(Q(y)→ ¬L(x, y)))(∀x)(D(x)→ ¬Q(x))

b)

(∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ A(x, z))(∀x)(∃y)P (y, x)(∀x)(∃y)A(y, x)

Page 85: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 3

Sistemas Deductivos para L1

Indice

3.1. Un sistema axiomatico para L1 . . . . . . . . . . . . . . . . . . . . . . 77

3.1.1. El Teorema de la Deduccion . . . . . . . . . . . . . . . . . . . . . . . . . 80

3.1.2. Correccion y Completitud de L1 . . . . . . . . . . . . . . . . . . . . . . 82

3.1.3. Correccion, Completitud y Semidecidibilidad . . . . . . . . . . . . . . . 84

3.2. Deduccion Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

3.3. Teorıas de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . . 90

3.3.1. Teorıas con Igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

3.4. Algunas Teorıas de Primer Orden con Igualdad . . . . . . . . . . . . 94

3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

En este capıtulo introducimos la extension a la logica de primer orden de los sistemas deductivosconsiderados para la logica proposicional en el primer volumen. Concretamente, estudiaremos:

un sistema axiomatico para L1, y

un sistema de deduccion natural para L1.

Puesto que, como hemos analizado, la logica de primer orden es una extension de la logica proposicional,tan solo requeriremos (en ambos casos) anadir a los axiomas y/o reglas de inferencias de los sistemasproposicionales nuevos axiomas y/o reglas de inferencias para regir el comportamiento de los cuantifica-dores.

3.1. Un sistema axiomatico para L1

Del mismo modo que en el caso proposicional, escogeremos para L1 el sistema debido a Lukasiewicz alque denotaremos L1. Este sistema es correcto y completo y estas dos propiedades las tendremos presentesen todo el desarrollo de la seccion.

Axiomas:

Ax 1. A→ (B → A)

Ax 2. (A→ (B → C))→ ((A→ B)→ (A→ C))

Ax 3. (¬A→ ¬B)→ (B → A)

Page 86: Logica Clasica de Predicados Computacional 2014 2015

78 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

Ax 4. (∀x)A(x)→ A(t), donde t es libre para x en A(x).

Ax 5. (∀x)(A→ B(x))→ (A→ (∀x)B(x)), donde x /∈ Vlibre(A).

eer rAdvirtamos, en relacion con los nuevos axiomas introducidos, que:

Los tres primeros axiomas son los axiomas del sistema de Lukasiewicz para la logicaproposicional.

(∀x)(P (x) → Q(x)) → (P (x) → Q(t)) no es una instancia del Axioma 4, ya que lasustitucion de x por t no se ha realizado correctamente.

(∀x)(∃y)P (x, y)→ (∃y)P (y, y) no es una instancia del Axioma 4, porque y no es librepara x en (∃y)P (x, y).

Si en el Axioma 4 consideramos t = x tenemos como esquema de axiomas

(∀x)A(x)→ A(x)

Reglas de inferencia:

Modus Ponens (MP):A,A→ B

B

Generalizacion (Gen):A

(∀x)Aeer rEs importante advertir la diferencia entre el Axioma 4 y la regla de generalizacion: ElAxioma 4 asegura que de (∀x)A(x) se infiere en un unico paso A(t) (si t es libre parax en A(x)), por su parte, la regla de generalizacion (puesto que L1 es, como veremos,correcto) recogera el hecho de que “si A es valida entonces tambien lo es (∀x)A(x)” .

Veamos que la restriccion en el Axioma 4 es necesaria: Si no exigimos que t sea librepara x en A(x), la fbf siguiente serıa un axioma

(∀x)(∃y)P (x, y)→ (∃y)P (y, y)

Sin embargo, esta fbf no es valida; para comprobarlo, consideremos una interpretacion(U, I) cuyo dominio U tenga al menos dos elementos y tal que I(P ) = (u, u′) ∈ U×U |u 6= u′, entonces se tiene que I((∀x)(∃y)P (x, y)) = 1 y se tiene que I((∃y)P (y, y)) = 0.Por lo tanto, el sistema no serıa correcto ya que no todos los axiomas serıan fbfs validas.

Analogamente, si quitamos la restriccion en el Axioma 5 de que x no sea una variablelibre en A, tendrıamos como axioma, por ejemplo, la fbf

(∀x)(P (x)→ P (x))→ (P (x)→ (∀x)P (x))

Pero esta fbf no es valida. En efecto, en la interpretacion (U, I) con dominio U = Z ytal que I(P ) =“ser par” , se tiene I((∀x)(P (x)→ P (x))) = 1.

Sin embargo, I(P (x) → (∀x)P (x)) 6= 1 ya que, si tomamos la asignacion de variablesξ definida por ξ(x) = 2 para todo sımbolo de variable x, se tiene Iξ(P (x)) = 1 y sitomamos la asignacion de variables ξ′ definida por ξ′(x) = 3 y ξ′(y) = 2 para todosımbolo de variable y 6= x, tenemos que Iξ((∀x)P (x)) = 0 y Iξ(P (x)→ (∀x)P (x)) = 0.Por lo tanto, el sistema no serıa correcto.

Definicion 3.1 Una fbf A se dice que es un teorema de L1, si existe una secuencia finita de fbfs,A1, A2, . . . , An tal que:

Page 87: Logica Clasica de Predicados Computacional 2014 2015

3.1. UN SISTEMA AXIOMATICO PARA L1 79

Cada Ai, donde 1 ≤ i ≤ n, es un axioma, o una fbf obtenida mediante la aplicacion de (MP) apartir de dos formulas anteriores en la secuencia o bien obtenida mediante la aplicacion de (Gen)a una formula anterior en la secuencia.

An es A.

La secuencia A1, A2, . . . , An se dice que es una demostracion de A en L1. Obviamente, todo axiomaes un teorema.

Definicion 3.2 Dado un conjunto Ω de formulas, se dice que A es deducible o derivable en L1 a partirde Ω, denotado Ω ` A, si existe una secuencia finita de formulas A1, A2, . . . , An tal que:

Cada Ai, donde 1 ≤ i ≤ n, es un axioma, una formula de Ω, o una fbf obtenida mediante laaplicacion de (MP) a partir de dos formulas anteriores en la secuencia o bien obtenida mediantela aplicacion de (Gen) a una formula anterior en la secuencia.

An es A.

La secuencia A1, A2, . . . , An se dice que es una deduccion o derivacion de A a partir de Ω en L1.

Es obvio, por definicion, que toda demostracion de una fbf A es una deduccion de A desde Ω = ∅,por ello se denota ` A para expresar que A es un teorema.

Como senalamos en la logica proposicional, un hecho destacable en el problema de la deduccion es laposibilidad de utilizar nuevas reglas de inferencia: Si A es deducible de A1, A2, . . . , An entonces la relacion

A1, A2, . . . , AnA

puede ser usada como nueva regla de inferencia (regla derivada) en las deducciones en L1.

Ejemplo 3.1 (Regla de Particularizacion) Como hemos desatacado, disponemos de una deduccion paraA(t) a partir de (∀x)A(x) donde t es libre para x en A(x), por lo tanto esta deduccion puede ser usadacomo regla derivada en otras deducciones en L1.

Veamos una deduccion de (∀x)A(x) ` A(t):

(1) (∀x)A(x) hipotesis(2) (∀x)A(x)→ A(t) Ax. 4(3) A(t) MP(1,2)

Puesto que L1 incluye todos los axiomas de la logica proposicional y la regla de inferencia (MP),tenemos obviamente el siguiente resultado

Teorema 3.1 Si A es una fbf de L1 que es un esquema de teorema de L, es decir, si A es una tautologıade L1, entonces A es un teorema de L1 y puede ser demostrada usando Ax.1, Ax.2, Ax.3 y (MP).

Demostracion: La fbf A se obtiene a partir de un teorema B en L mediante la sustitucion (uniforme)de cada sımbolo de proposicion en B por una fbf de L1. Por lo tanto, B tiene una demostracion en L.Sea Γ tal demostracion. Ahora, en cada una de las formulas de Γ, realizamos las sustituciones siguientes:

- Para los sımbolos proposicionales que no intervienen en B, las mismas que las realizadas paraobtener A a partir de B.

- Para los sımbolos proposicionales que no intervienen en B, la sustitucion de este sımbolo por unafbf arbitraria de L1.

De esta forma, obtenemos una demostracion de A en L1 en la que solo se utilizan Ax.1, Ax.2, Ax.3 y(MP).

Como consecuencia del teorema anterior, disponemos de un extenso conjunto de teoremas, el conjuntode todos los esquemas de formulas validas de L.

Page 88: Logica Clasica de Predicados Computacional 2014 2015

80 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3.1.1. El Teorema de la Deduccion

Como en la logica proposicional, desearıamos disponer en L1 de un teorema de la deduccion, (comoherramienta fundamental para facilitar las demostraciones).

Aun con ciertas restricciones, el resultado disponible en el caso proposicional:

Si Ω, A ` B entonces Ω ` A→ B

es tambien cierto en el sistema L1. Las restricciones (necesarias como nos muestra el siguiente ejemplo)habran de ser impuestas, como era de esperar, en el uso de la regla de generalizacion.

Ejemplo 3.2 Si no imponemos restricciones, puesto que tenemos A ` (∀x)A, el teorema de la deduccionpermitirıa concluir que ` A → (∀x)A. Claramente, no deseamos esto, ya que el esquema A → (∀x)A noes un esquema valido.

En efecto, sea A = P (x) y sea (U, I) una interpretacion con U = Z, I(P ) = “es igual a 0” , veamosque P (x) → (∀x)P (x) no es verdadera en esta interpretacion; para ello basta encontrar una asignacionde variables, ξ, tal que Iξ(P (x) → (∀x)P (x)) = 0. Podemos considerar ξ tal que ξ(x) = 0, con lo queIξ(P (x)) = 1. Por otra parte existen valuaciones ξ′ x-equivalentes a ξ tales que Iξ′(P (x)) = 0. Por lotanto, Iξ′((∀x)P (x)) = 0 y Iξ′(P (x)→ (∀x)P (x)) = 0. Ası pues P (x)→ (∀x)P (x) no es valida.

Pasemos ya a enunciar el teorema de la deduccion disponible en L1:

Teorema 3.2 (de la deduccion) Si Ω ∪ A ` B y en la deduccion de B no se utiliza la regla degeneralizacion con respecto a ninguna variable libre de A, entonces Ω ` A→ B. En particular:

Si A es una fbf cerrada y Ω ∪ A ` B, entonces Ω ` A→ B.

Demostracion: Lo demostramos por induccion sobre la longitud m de la deduccion de B a partir deΩ ∪ A.Para m = 1: B es un axioma o bien B = A o bien B ∈ Ω y demostramos que Ω ` A→ B siguiendo pasoa paso la demostracion del caso proposicional.

Paso inductivo: Supongamos m > 1 y que el resultado es cierto para k < m, es decir, si C es una fbf yΩ ∪ A ` C y en su deduccion, de longitud k < m, no se utiliza la regla de generalizacion con respectoa variables libres en A, entonces Ω ` A→ C.

Si B es un axioma, o bien B = A, o bien B ∈ Ω, o bien se obtiene de dos fbfs anteriores en la secuenciamediante la aplicacion de (MP), demostramos que Ω ` A→ B siguiendo paso a paso la demostracion delcaso proposicional.

Hemos pues de centrarnos en el caso en que B se obtiene de una formula E anterior en la secuenciamediante la aplicacion de (Gen). En este caso B = (∀x)E, Ω ∪ A ` E y existe una deduccion de Edesde Ω ∪ A con longitud menor que m. Por hipotesis de induccion, se tiene que Ω ` A→ E. Por otraparte, por hipotesis, x no es libre en A (ya que a ella se refiere la aplicacion de (Gen) en la deduccion deB a partir de Ω ∪ A).

Por lo tanto, obtenemos una deduccion de A→ B a partir de Ω del siguiente modo:

(1) . . . . . .

(. . .) . . . . . .

(n) A→ E . . .

(n+ 1) (∀x)(A→ E) Gen(n)

(n+ 2) (∀x)(A→ E)→ (A→ (∀x)E) Ax,5 (ya que x /∈ Vlibre(A))

(n+ 3) A→ (∀x)E MP(n+ 1, n+ 2)

Page 89: Logica Clasica de Predicados Computacional 2014 2015

3.1. UN SISTEMA AXIOMATICO PARA L1 81

donde (1),. . . ,(n) es una deduccion de A→ E a partir de Ω.

Corolario 3.1 La regla de silogismo hipotetico (SH)

A→ B,B → C ` A→ C

es una regla derivada en L1.

Demostracion: Lo probamos haciendo uso del metateorema de la deduccion, es decir, probamos que

A→ B,B → C,A ` C

Una deduccion de C desde A→ B,B → C,A es:

(1) A→ B Hip.(2) B → C Hip.(3) A Hip.(4) B MP(1,3)(5) C MP(2,4)

El inverso del teorema de la deduccion es cierto sin restriccion alguna:

Teorema 3.3 Si A y B son fbfs y Ω es un conjunto de fbfs

Si Ω ` A→ B, entonces Ω ∪ A ` B

Demostracion: La demostracion es la misma que en el caso proposicional.

Los siguientes ejemplos ilustran el uso del teorema de la deduccion para probar dos teoremas delsistema L1.

Ejemplo 3.3 Veamos que la fbf (A → (∀x)B) → (∀x)(A → B) es un teorema de L1. Consideremos lasiguiente deduccion:

(1) A→ (∀x)B Hip.(2) (∀x)B → B Ax.4(3) A→ B SH(1,2)(4) (∀x)(A→ B) Gen(3)

Hemos probado que A→ (∀x)B ` (∀x)(A→ B). Puesto que x no es libre en (∀x)(A→ B), aplicandoel teorema de la deduccion se concluye que la formula (A→ (∀x)B)→ (∀x)(A→ B) es un teorema.

Ejemplo 3.4 Veamos que la fbf (∀x)(A→ B)→ ((∀x)A→ (∀x)B) es un teorema.

(1) (∀x)(A→ B) Hip.(2) (∀x)A Hip.(3) (∀x)(A→ B)→ (A→ B) Ax.4(4) A→ B MP(1,3)(5) (∀x)A→ A Ax.4(6) A MP(2,5)(7) B MP(4,6)(8) (∀x)B Gen(7)

Hemos probado que (∀x)(A→ B), (∀x)A ` (∀x)B. Como (∀x)A es cerrada, por el teorema de la deduccionse tiene (∀x)(A→ B) ` (∀x)A→ (∀x)B. Aplicando nuevamente el teorema de la deduccion, concluimosla prueba de que la formula (∀x)(A→ B)→ ((∀x)A→ (∀x)B) es un teorema.

Page 90: Logica Clasica de Predicados Computacional 2014 2015

82 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

Ejemplo 3.5 Veamos que la fbf (∀x)(∀y)A(x, y)→ (∀y)(∀x)A(x, y) es un teorema:

(1) (∀x)(∀y)A(x, y) Hip.(2) (∀x)(∀y)A(x, y)→ (∀y)A(x, y) Ax.4(3) (∀y)A(x, y) MP(1,2)(4) (∀y)A(x, y)→ A(x, y) Ax.4(5) A(x, y) MP(3,4)(6) (∀x)A(x, y) Gen(5)(7) (∀y)(∀x)A(x, y) Gen(6)

Por lo tanto, (∀x)(∀y)A(x, y) ` (∀y)(∀x)A(x, y). Como (∀x)(∀y)A(x, y) es cerrada, por el teorema de ladeduccion se tiene

` (∀x)(∀y)A(x, y)→ (∀y)(∀x)A(x, y)

3.1.2. Correccion y Completitud de L1

Como ya hemos comentado al inicio de capıtulo, el sistema L1 goza de las propiedades de correcciony completitud.

Teorema 3.4 (Correccion de L1) Todo teorema de L1 es una fbf valida, es decir

Si ` A entonces |= A

Demostracion: Por el Teorema 3.1, sabemos que los Axiomas 1, 2 y 3 son fbfs validas.

El Axioma 4 es valido: Sea M = (U, I) una interpretacion y ξ una valuacion de variables arbitrariaasociada a M.

Tenemos que probar que, si el termino t es libre para la variable x en la formula A, se tiene queIξ((∀x)A(x)→ A(t)) = 1.

Si Iξ((∀x)A(x)) = 0 entonces Iξ((∀x)A(x) → A(t)) = 1. Si Iξ((∀x)A(x)) = 1 entonces, para todavaluacion de variables ξ′ x-equivalente a ξ, se tiene que Iξ′(A(x)) = 1. En particular, podemos elegir ξ′

de modo que ξ′(x) = ξ(t). Por lo tanto, por ser t libre para x en A, Iξ(A(t)) = 1 y, consecuentemente,Iξ((∀x)A(x)→ A(t)) = 1. Ası pues, I((∀x)A(x)→ A(t)) = 1.

El Axioma 5 es valido: Es inmediato ya que, puesto que si una variable x no es libre en A, se tiene que(∀x)(A→ B(x)) ≡ (A→ (∀x)B(x)).

Por ultimo, es obvio que tanto (MP) como (Gen) respetan la validez, es decir:

- Si A y A→ B son validas, B tambien es valida.

- Si A es valida, entonces (∀x)A es valida.

Finalmente, probada la validez de los axiomas y que las reglas de inferencia preservan la validez, medianteun argumento inductivo muy sencillo terminamos la demostracion de que todo teorema de L1 es una fbfvalida.

Teorema 3.5 (Completitud de L1) Toda fbf valida es un teorema de L1, es decir

Si |= A entonces ` A

Page 91: Logica Clasica de Predicados Computacional 2014 2015

3.1. UN SISTEMA AXIOMATICO PARA L1 83

La primera demostracion de la completitud de un sistema de demostracion para la logica de primerorden fue dada por Godel en 1930 en su Tesis Doctoral. De aquı que este resultado sea citado en labibliografıa como el Teorema de Completitud de Godel. Posteriormente, en 1949, Henkin aporto otrademostracion.

La demostracion de este teorema escapa a los objetivos de este libro 1En su lugar demostraremos unapropiedad mas debil:

Teorema 3.6 (de consistencia) L1 es consistente, es decir, no existe ninguna formula A tal que ` Ay ` ¬A.

Demostracion: Consideremos la funcion

h : L1 −→ Lprop

definida como sigue: Para cada formula A de L1, h(A) es la formula de la logica clasica proposicional,Lprop, obtenida al eliminar en A todos los cuantificadores y todos los terminos y ademas sustituir lossımbolos de predicado por el correspondiente sımbolo en minuscula de Lprop (junto con la eliminacion delas comas y parentesis asociados a los cuantificadores, terminos y atomos).

Por ejemplo:

h(P (f(x)) ∧ ¬(Q(x, a)→ R(x, z))) ; p ∧ ¬(q → r)

Veamos que si A es un teorema de L1, entonces h(A) es una tautologıa de Lprop. Para ello tendremosprobar que:

- h(A) es una tautologıa para todo axioma de de L1

- Si aplicamos una regla de inferencia a fbfs tales que sus imagenes por h son tautologıas, entoncesla imagen por h de la fbf proporcionada por la regla de inferencia tambien es una tautologıa:

Para los esquemas de Axiomas 1, 2 y 3 es inmediato ya que en ellos no intervienen sımbolos decuantificacion.

h((∀x)(A(x)→ A(t))) = a; a, es valida en Lprop.

h((∀x)(A→ B(x))→ (A→ (∀x)B(x))) ; (a→ b)→ (a→ b), es valida en Lprop.

Si h(A) y h(A→ B) son tautologıas, puesto que h(A→ B) = h(A)→ h(B), se tiene que h(B) esuna tautologıa.

Si h(A) es una tautologıa, h((∀x)A) ; h(A) es una tautologıa.

Ahora es inmediato probar que L1 es consistente. En caso contrario, existirıa una fbf A tal que ` A y` ¬A y por lo tanto, puesto que h(¬A) = ¬h(A) se tendrıa que h(A) y ¬h(A) serıan tautologıas en Lprop,lo cual es imposible.

Por ultimo, y por argumentos analogos a los utilizados en el caso proposicional, es decir, los teoremasde correccion y completitud, el teorema de compacidad y teorema de la deduccion, se tiene el resultadosiguiente.

Teorema 3.7 Dados un conjunto Ω de fbfs cerradas y una fbf cerrada A,

Ω |= A si y solo si Ω ` A1El lector interesado puede encontrarla en E. Mendelson. Introduction to Mathematical Logic. Wadsworth &

Brook/Cole, third edition, 1987.

Page 92: Logica Clasica de Predicados Computacional 2014 2015

84 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3.1.3. Correccion, Completitud y Semidecidibilidad

En la Seccion 2.2 mostramos la semidecidibilidad de L1 en terminos semanticos. Ahora, puesto quedisponemos de un sistema correcto y completo para L1, podemos establecerla de forma equivalente enterminos del sistema axiomatico, es decir, mostrando un semialgoritmo para determinar si una fbf es ono un teorema de L1. Mas aun,

La semidecidibilidad de la logica de primer orden, es una consecuencia de la existencia

de sistemas de demostracion correctos y completos para esta logica.

En efecto, puesto que el conjunto de fbfs de L1 es numerable, tambien lo es el conjunto de demostracionesposibles en L1 (ya que toda demostracion en L1 es una secuencia finita de fbfs de L1). En consecuencia,podemos proceder del modo siguiente:

1. Enumeramos todas las demostraciones en L1, por ejemplo, de menor a mayor longitud y las deigual longitud segun el orden lexicografico. Sea esta enumeracion

∆ = D1, . . . ,Dn, . . .

2. Si una fbf A es valida, puesto que L1 es completo, ha de existir una demostracion Di ∈ ∆ para A.

3. Si una fbf A no es valida, puesto que L1 es correcto, no existe ningun elemento Di ∈ ∆ tal que Dies una demostracion para A. Pero, puesto que ∆ es infinito, nuestra busqueda no termina.

Es evidente, que la eficiencia de este procedimiento deja mucho que desear. Por otra parte, el semialgoritmodado en la Seccion 2.2 nos permite parar la busqueda para algunas fbfs no validas, concretamente, aquellaspara la que encontremos un nodo en el arbol semantico cuya interpretacion asociada falsifica a A.

3.2. Deduccion Natural

El teorema de la deduccion para L1 motiva, como en el caso proposicional, la introduccion de lossistemas de deduccion natural, en los que las deducciones adquieren protagonismo sobre las demostra-ciones y en los que las conclusiones se derivan desde un conjunto de hipotesis, sin utilizar axiomas, solomediante reglas de inferencia.

La filosofıa y caracterısticas de estos sistemas es la misma que la expuesta para la logica clasicaproposicional, Lprop: Las reglas de inferencia son de dos tipos, reglas de introduccion y reglas de

eliminacion de conectivos y de cuantificadores, denotadas (∗, i) y (∗, e) respectivamente, donde ∗ re-presenta un conectivo arbitrario o un cuantificador. Cada regla consta de una o mas hipotesis y unaconclusion y se representa por

hipotesis

Conclusion

Como en todo sistema de deduccion natural, DN, introducimos la definicion siguiente:

Definicion 3.3 Dado un conjunto, Ω, de fbfs, se dice que una formula A es deducible o derivable deΩ, denotado Ω `DN A, si existe una secuencia finita de fbfs, A1, A2, . . . , An, tal que:

Cada Ai, donde 1 ≤ i ≤ n, es una formula de Ω o se obtiene de formulas anteriores de la secuenciamediante la aplicacion de alguna regla de inferencia.

Page 93: Logica Clasica de Predicados Computacional 2014 2015

3.2. DEDUCCION NATURAL 85

An es A.

La secuencia A1, . . . , An se dice que es una deduccion o derivacion tipo Gentzen de A a partirde Ω.

Definicion 3.4 Una formula A es un teorema si es derivable desde el conjunto vacıo de formulas.Escribiremos `DN A para expresar que A es un teorema.

Consideraremos un sistema de deduccion natural que es extension del dado para la logica propo-sicional y que, es asimismo correcto y completo. Como para el sistema axiomatico de Lukasiewicz, nodemostraremos la completitud. 2.

Las reglas de introduccion y de eliminacion para los conectivos booleanos son las mismas que en elcaso proposicional, es decir:

(∧, i)ABA ∧B

(∧, e1)A ∧BA

(∧, e2)A ∧BB

(→, i)AB

A→ B

(→, e)AA→ BB

(∨, i1)AA ∨B (∨, i2)

BA ∨B (∨, e)

A ∨BAC

BC

C

(¬, i)

BA¬B

¬A

(¬e) ¬¬AA

Disponemos ademas de reglas de introduccion y eliminacion de cada uno de los cuantificadores:

3.2.0.1. Eliminacion de ∀: La regla (∀, e)

(∀x)A(x)A(t)

donde t es un termino libre para x en A(x).

La lectura de esta regla es la siguiente:

Si sabemos que todo elemento del dominio es A, entonces sabemos que, en particular, todoelemento expresado por t es A.

Para probar la correccion de (∀, e) tenemos que probar que, si t es un termino libre para x en A(x),entonces (∀x)A(x)→ A(t) es valida. Pero este esquema es el Axioma 4 del sistema L1 dado en la seccionanterior y su correccion la hemos probado en el Teorema 3.4.

Como para el Axioma 4 del sistema de Lukasiewicz, si no aseguramos las restricciones impuestas a t,podemos llegar a conclusiones erroneas como nos muestra el siguiente ejemplo:

Ejemplo 3.6 La aplicacion incorrecta de (∀, e) nos llevarıa a deducir

2El lector interesado puede encontrarla en el libro: W. Hodges. Elementary predicate logic. In D. Gabbay andF. Guenthner, editors. Handbook of Philosophical Logic, volume 1. Kluwer Academic Press, 1983. Reimpresionen 1994.

Page 94: Logica Clasica de Predicados Computacional 2014 2015

86 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

`DN (∀x)¬(∀y)P (x, y)→ ¬(∀y)P (y, y)

1. Subderivacion

(1.1) (∀x)¬(∀y)P (x, y) hipotesis

(2.1) ¬(∀y)P (y, y) (1) y (∀, e) (Aplicacion incorrecta)

2. (∀x)¬(∀y)P (x, y)→ ¬(∀y)P (y, y) (1) y (→, i)

La aplicacion de (∀, e) es incorrecta porque y no es libre para x en ¬(∀y)P (x, y)

3.2.0.2. Introduccion de ∀: La regla (∀, i)

A(x)(∀x)A(x)

donde x es un sımbolo de variable que satisface las siguientes condiciones:

1. x no ocurre libre en ninguna hipotesis.

2. x no ocurre libre en ninguna de las hipotesis adicionales de las subderivaciones aun no finalizadas.

Estas restricciones aseguran que x puede ser considerado como un elemento arbitrario, es decir, conesta regla recogemos el siguiente tipo de razonamiento:

Si sabemos que un elemento arbitrario es A, podemos afirmar que todo elemento es A.

Para probar la correccion de (∀, i) tenemos que probar que si x /∈ Vlibre(B) se tiene que la fbf (∀x)(B →A(x)) → (B → (∀x)A(x)) es valida. Pero este es el Axioma 5 del sistema L1 y su correccion la hemosprobado en el Teorema 3.4.

Los siguientes ejemplos nos muestran aplicaciones de (∀, e) y (∀, i).

Ejemplo 3.7 Demostramos que `DN (∀x)(∀y)P (x, y)→ (∀y)(∀x)P (x, y)

1. Subderivacion

(1.1) (∀x)(∀y)P (x, y) hipotesis

(1.2) (∀y)P (x, y) (1.1) y (∀, e)(1.3) P (x, y) (1.2) y (∀, e)(1.4) (∀x)P (x, y) (1.3) y (∀, i)(1.5) (∀y)(∀x)P (x, y) (1.4) y (∀, i)

2. (∀x)(∀y)P (x, y)→ (∀y)(∀x)P (x, y) (1) y (→, i)

Ejemplo 3.8 Demostramos que (∀x)(P (x) ∧Q(x)) `DN (∀x)P (x) ∧ (∀x)Q(x)

1. (∀x)(P (x) ∧Q(x)) hipotesis

2. P (x) ∧Q(x) (1) y (∀, e)3. P (x) (2) y (∧, e)4. Q(x) (2) y (∧, e)5. (∀x)P (x) (3) y (∀, i)6. (∀x)Q(x) (4) y (∀, i)

Page 95: Logica Clasica de Predicados Computacional 2014 2015

3.2. DEDUCCION NATURAL 87

7. (∀x)P (x) ∧ (∀x)Q(x) (5) y (6) y (∧, i)

Ejemplo 3.9 Demostramos que (∀x)(P (x)→ Q(x)) `DN (∀x)P (x)→ (∀x)Q(x)

1. (∀x)(P (x)→ Q(x)) hipotesis

2. Subderivacion

(1.1) (∀x)P (x) hipotesis Adicional

(1.2) P (x)→ Q(x) (1) y (∀, e)(1.3) P (x) (1.1) y (∀, e)(1.4) Q(x) (1.2), (1.3) y (→, e)(1.5) (∀x)Q(x) (1.4) y (∀, i)

3. (∀x)P (x)→ (∀x)Q(x) (2) y (→, i)

Si no nos aseguramos de las restricciones impuestas a x en la regla (∀, i), podemos llegar a conclusioneserroneas como nos muestra el siguiente ejemplo.

Ejemplo 3.10 La aplicacion incorrecta de (∀, i) nos llevarıa a probar

`DN P (a, a)→ (∀x)P (x, a)

1. Subderivacion

(1.1) P (x, a) hipotesis Adicional

(1.2) (∀x)P (x, a) (1.1) y (∀, i) (Aplicacion incorrecta)

2. P (x, a)→ (∀x)P (x, a) (1) y (→, i)3. (∀x)(P (x, a)→ (∀x)P (x, a)) (2) y (∀, i)4. P (a, a)→ (∀x)P (x, a)) (3) y (∀, e)

3.2.0.3. Introduccion de ∃: La regla (∃, i)

A[x/t](∃x)A(x)

donde t es un termino libre para x en A(x). La lectura de esta regla es como sigue:

Si sabemos que el elemento del dominio expresado por t es A, en particular, sabemos queexisten elementos del dominio que son A.

Para probar la correccion de (∃, i) tenemos que probar que A(t) → (∃y)A(x) es valida. Puesto que(∃x)A(x) ≡ ¬(∀x)¬A(x), se tiene que

A(t)→ (∃x)A(x) ≡ ¬(∃x)A(x)→ ¬A(t) ≡ (∀x)¬A(x)→ ¬A(t)

Por lo tanto, la justificacion es la misma que para (∀, e).

Ejemplo 3.11 (∀x)P (x, a) `DN (∃x)P (a, x)

1. (∀x)P (x, a) hipotesis

2. P (a, a) (1) y (∀, e)3. (∃x)P (a, x) (2) y (∃, i)

Page 96: Logica Clasica de Predicados Computacional 2014 2015

88 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3.2.0.4. Eliminacion de ∃: La regla (∃e)

Esta regla hace uso de una subderivacion

(∃x)A(x)A(x)B

B

donde x es un sımbolo de variable tal que

no ocurre libre en ninguna hipotesis.

no ocurre libre en las hipotesis adicionales de la subderivaciones aun no finalizadas necesarias paraderivar B (salvo en A(x)).

x no ocurre libre en B

Estas restricciones aseguran que x representa un elemento arbitrario, es decir, con esta regla recogemosel siguiente tipo de razonamiento:

Si sabemos que existe un elemento que es A y que el hecho de que un elemento sea A nosasegura B, entonces podemos afirmar B.

La correccion de esta regla requiere probar que (A(x) → B) → ((∃x)A(x) → B) es valida, es decir,que (∀x)(A(x) → B) → ((∃x)A(x) → B) es valida, lo cual es de comprobacion inmediata a partir de ladefinicion de la semantica.

Ejemplo 3.12 (∀x)(P (x)→ Q(x)), (∃x)P (x) `DN (∃x)Q(x)

1. (∀x)(P (x)→ Q(x)) hipotesis

2. (∃x)P (x) hipotesis

3. Subderivacion

(3.1) P (x) hipotesis adicional

(3.2) P (x)→ Q(x) (1) y (∀, e)(3.3) Q(x) (3.1), (3.2) y (→, e)(3.4) (∃x)Q(x) (3.3) y (∃, i)

4. (∃x)Q(x) (2), (3) y (∃, e)

Ejemplo 3.13 `DN (∀x)P (x)→ (∃x)P (x)

1. Subderivacion

(1.1) (∀x)P (x) hipotesis adicional

(1.1) P (x) (1.1) y (∀, e)(2.2) (∃x)P (x) (1.2) y (∃, i)

2. (∀x)P (x)→ (∃y)P (x) (1) y (→, i)

Como en los sistemas axiomaticos podemos introducir Reglas derivadas:

Page 97: Logica Clasica de Predicados Computacional 2014 2015

3.2. DEDUCCION NATURAL 89

3.2.0.5. La regla derivada N∀:

¬(∀x)A(x)(∃x)¬A(x)

Demostracion:

1. ¬(∀x)A(x) hipotesis

2. Subderivacion

(2.1) ¬(∃x)¬A(x) hipotesis adicional

(2.2) Subderivacion

(2.2.1) ¬A(x) hipotesis adicional

(2.2.2) (∃x)¬A(x) (2.2.1) y (∃, i)(2.2.3) ¬¬(∃x)¬A(x) (2.2.2) y regla derivada de L

(2.3) ¬¬A(x) (1.2) y (¬, i)(2.4) A(x) (1.3) y (¬, e)(2.5) (∀x)A(x) (1.4) y (∀, i)(2.6) ¬¬(∀x)A(x) (1.5) y regla derivada de L

3. ¬¬(∃x)¬A(x) (1), (2) y (¬, i)4. (∃x)¬A(x) (3) y (¬, e)

Analogamente se obtienen las siguientes reglas derivadas cuya demostracion se deja al lector.

3.2.0.6. La regla derivada ∃N :

(∃x)¬A(x)¬(∀x)A(x)

3.2.0.7. La regla derivada N∃:

¬(∃x)A(x)(∀x)¬A(x)

3.2.0.8. La regla derivada ∀N :

(∀x)¬A(x)¬(∃x)A(x)

Ejemplo 3.14 Comprobemos que `DN ¬(∃x)(P (x) ∧ ¬P (x))

1. Subderivacion

(1.1) P (x) hipotesis adicional

(1.2) P (x) (1.1) y Rep

2. P (x)→ P (x) (1) y (→, i)

Page 98: Logica Clasica de Predicados Computacional 2014 2015

90 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3. Subderivacion

(3.1) P (x) ∧ ¬P (x) hipotesis adicional

(3.2) ¬(P (x)→ P (x)) (3.1) y regla derivada de L

4. ¬(P (x) ∧ ¬P (x)) (2), (3) y (¬, i)5. (∀x)¬(P (x) ∧ ¬P (x)) (2) y (∀, i)6. ¬(∃x)(P (x) ∧ ¬P (x)) (3) y (∀N)

3.3. Teorıas de Primer Orden

En la practica, la logica de primer orden rara vez se usa en toda su generalidad. La mayorıa delas veces estamos interesados en razonamientos sobre dominios particulares; y al pronunciarnos sobreaspectos formales de un determinado tipo de dominios, se requiere un lenguaje de primer orden con soloun numero reducido de constantes individuales, de letras de funcion y de letras de predicado. Este hechose recoge formalmente con la nocion de teorıa de primer orden, cuyo objetivo no es mas que la adaptacionde la logica de primer orden a dominios especıficos. Estos dominios pueden ser mas o menos abstractos:dominios de la Fısica, de la Astronomıa, de la Filosofıa, etc. De este modo, la logica de primer ordenusada en toda su generalidad describe lo que tienen en comun todos estos dominios.

Comenzamos introduciendo este concepto semanticamente.

Definicion 3.5 Una teorıa de primer orden es un conjunto T de fbfs cerradas en un lenguaje deprimer orden L1 tal que:

1. T es satisfacible.

2. T es cerrado para la relacion de consecuencia logica, es decir, si A ∈ L1 y T |= A entonces A ∈ T .

Teorema 3.8 Sea I0 un conjunto no vacıo de interpretaciones para un lenguaje de primer orden L1 ysea FI0

el conjunto de fbfs en L1 tales que toda interpretacion (U, I) ∈ I0 es un modelo de FI0. Entonces

FI0es una teorıa de primer orden.

Demostracion: Por definicion, FI0 es satisfacible ya que toda interpretacion (U, I) ∈ I0 es un modelode FI0

.

Si FI0 |= A se tiene que toda interpretacion (U, I) ∈ I0 es un modelo para la formula A, por lo tantoA ∈ FI0

.

Definicion 3.6 Si I0 es un conjunto no vacıo de interpretaciones para un lenguaje de primer orden L1,llamamos a FI0

la teorıa de primer orden para I0.

Intuitivamente, podemos pensar en una teorıa como en el conjunto de todas las afirmaciones quedeseamos realizar sobre algun fenomeno. En la practica este conjunto es mas facil de manejar si destacamosun subconjunto consistente en las afirmaciones mas significativas y desde las que pueden ser “derivadas”el resto de las afirmaciones. Este es el objetivo de las teorıas axiomaticas de primer orden que pasamosa describir.

Definicion 3.7 Una teorıa axiomatica de primer orden T consta de:

1. Un lenguaje de primer orden (usualmente con un numero reducido de constantes individuales, deletras de funcion y de letras de predicado).

Page 99: Logica Clasica de Predicados Computacional 2014 2015

3.3. TEORIAS DE PRIMER ORDEN 91

2. Los esquemas de axiomas del sistema de Lukasiewicz L1, llamados axiomas logicos, que sonindependientes de la signatura especıfica y que, como hemos analizado, son validos en toda inter-pretacion M.

3. Un conjunto finito de axiomas o esquemas de axiomas llamados axiomas propios que son fbfscerradas validas en determinadas interpretaciones.

4. Las reglas de inferencia (MP) y (Gen) del sistema L1.

Una teorıa de primer orden sin axiomas propios se denomina un calculo de predicados de primerorden. Por lo tanto, el calculo de predicados es universal en el sentido de que sus axiomas y reglas deinferencia son comunes a todas las teorıas de primer orden.

Definicion 3.8 Un modelo para una teorıa axiomatica de primer orden T , es una interpretacion parala que todos los axiomas de T son validos.

Puesto que las reglas de inferencia (MP) y (Gen) respetan la validez, podemos afirmar que:

Todo teorema de una teorıa de 1er orden, T , es valido en todo modelo de T .

Definicion 3.9 Sea I0 es un conjunto no vacıo de interpretaciones para un lenguaje de primer ordenL1. Una teorıa axiomatica T de primer orden axiomatiza completamente a FI0

o es completa respectoa FI0

si

`T A si y solo si A ∈ FI0

Ejemplo 3.15 Definamos una teorıa que describa todos los conjuntos estrictamente ordenados. Lasignatura de tal teorıa sera tal que

No tiene sımbolos de constantes.

No tiene sımbolos de funcion.

El unico sımbolo de predicados es un sımbolo de predicado binario, denotado <, que usaremos ennotacion infija.

En consecuencia, el lenguaje es muy simple:

Los unicos terminos son las variables.

Todos los atomos son de la forma x < y, donde x e y son sımbolos de variables.

La semantica de < se recoge mediante los siguientes axiomas propios:

Ax.1 (∀x)¬(x < x) Irreflexiva

Ax.2 (∀x)(∀y)(∀z)((x < y ∧ y < z)→ x < z

)Transitiva

Un modelo para esta teorıa se denomina estructura de orden parcial estricto.

3.3.1. Teorıas con Igualdad

Llamamos teorıa de primer orden con igualdad, y la denotamos T =, a toda teorıa de primer ordenque satisfaga las dos condiciones siguientes:

Page 100: Logica Clasica de Predicados Computacional 2014 2015

92 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

1. Incluye en su signatura un sımbolo de predicado binario al que se denota E y cuyo significadose pretende que sea la identidad, es decir, que toda interpretacion M = (U, I) le asigne comosignificado

I(E) = (u, u) | u ∈ UPor lo tanto, E es un sımbolo de predicado con un caracter especial, ya que no le ocurre como alos sımbolos de predicados utilizados hasta ahora en nuestro desarrollo, cuyo significado varıa deuna a otra interpretacion; muy al contrario, su comportamiento es similar al de los sımbolos ∧, ¬,∀, . . . , es decir es una constante logica.

2. Para recoger la semantica de E, esta teorıa dispone de los siguientes axiomas propios:

(E1) (∀x)E(x, x) reflexiva

(E2) (∀x)(∀y)(E(x, y)→ E(y, x)) simetrica

(E3) (∀x)(∀y)(∀z)((E(x, y) ∧ E(y, z))→ E(x, z)) transitiva

(E4) E(t, u)→ E(f(t1, . . . , ti−1, t, ti+1, . . . , tn), f(t1, . . . , ti−1, u, ti+1, . . . , tn)), donde f es un sımbo-lo de funcion n-ario y t, u, t1, . . . , tn son terminos.

(E5) E(t, u)→ (P (t1, . . . , ti−1, t, ti+1, . . . , tn)→ P (t1, ti−1, u, ti+1, tn)), donde P es un sımbolo depredicado n-ario y t, u, t1 . . . , tn son terminos.

Sin embargo, como nos muestra el siguiente ejemplo, los axiomas (E1)–(E5) no garantizan que en todomodelo de T = la interpretacion de E sea “la identidad” sino tan solo una “relacion de equivalencia” .

Ejemplo 3.16 Consideremos el lenguaje de primer orden cuya signatura consiste en un sımbolo defuncion binario f y un sımbolo de predicado binario E. Consideremos la interpretacion

M = (Z,∅, f ; +, E ;≡2)

donde ≡2 denota la relacion “congruencia modulo 2” en Z (es decir, x ≡2 y si y solo si x− y es multiplode 2). Esta interpretacion es un modelo para todos los axiomas (E1)–(E5). En efecto:

(E1) (∀x)(x ≡2 x)

(E2) (∀x)(∀y)(x ≡2 y → y ≡2 x)

(E3) (∀x)(∀y)(∀z)((x ≡2 y ∧ y ≡2 z)→ x ≡2 z

)(E4) t ≡2 u→ ((x+ t) ≡2 (x+ u))

(E5) t ≡2 u→ (x ≡2 t→ x ≡2 u)

Definicion 3.10 Un modelo M = (U, I) de una teorıa de primer orden con igualdad T = en el que lainterpretacion de E es la identidad de U se dice que es un modelo normal.

Teorema 3.9 Si T = es una teorıa de primer orden con igualdad que es consistente, entonces T = tieneun modelo normal.

Demostracion: Puesto que T = es consistente, debe tener un modelo M = (U, I). Puesto que Msatisface (E1), (E2) y (E3), se tiene que I(E) es una relacion de equivalencia en U . Denotemos por [u] laclase de equivalencia a la que pertenece u. Consideremos la interpretacion (U/I(E), I?) donde

1. I?(a) = [I(a)] para cada sımbolo de constante a.

2. I?(f)([u1], . . . , [un]) = [I(f)(u1, . . . , un)] para cada sımbolo de funcion n-aria f .

3. ([u1], . . . , [un]) ∈ I?(P ) si y solo si (u1, . . . , un) ∈ I(P ) para cada sımbolo de predicado n-ario P .

Page 101: Logica Clasica de Predicados Computacional 2014 2015

3.3. TEORIAS DE PRIMER ORDEN 93

El lector puede comprobar que esta interpretacion es tambien un modelo para T =, y que en ella I?(E)es la identidad en U/I(E); por lo tanto, es un modelo normal para T =.

En adelante usaremos = para E y 6= para ¬E.

En las teorıas de primer orden con igualdad, podemos ampliar la potencia expresiva del lenguaje:Hasta ahora disponıamos del sımbolo de cuantificacion ∀ para expresar que “todos” los individuos de undominio poseen cierta propiedad o estan en una cierta relacion y del sımbolo de cuantificacion ∃ paraexpresar que “al menos” un individuo de un dominio posee cierta propiedad o esta en una cierta relacion.En una teorıa de primer orden con igualdad podemos expresar:

“existe exactamente un individuo que es P” :

(∃x)(P (x) ∧ (∀y)(P (y)→ (y = x))

)“hay al menos dos individuos tales que poseen la propiedad P” :

(∃x)(∃y)(P (x) ∧ P (y) ∧ (x 6= y))

“existen exactamente dos individuos que poseen la propiedad P”

(∃x)(∃y)(P (x) ∧ P (y) ∧ y 6= x ∧ (∀z)(P (z)→ ((z = x) ∨ (z = y)))

)“hay a lo sumo dos individuos tales que P”

(∀x)(∀y)(∀z)((P (x) ∧ P (y) ∧ P (z))→ ((x = y) ∨ (y = z) ∨ (x = z))

)“hay al menos tres individuos tales que poseen la propiedad P” :

(∃x)(∃y)(∃z)(P (x) ∧ P (y) ∧ P (z) ∧ (x 6= y) ∧ (x 6= z) ∧ (y 6= z))

Ası podemos seguir tanto como deseemos.eer r En la definicion de la semantica de la logica de primer orden (con o sin igualdad) hemossupuesto que dado un modelo (U, I), la interpretacion de todo sımbolo de funcion (si existe)es una funcion total, es decir, si f es un sımbolo de funcion n-aria, I(f) esta definida paratoda n-upla (u1, . . . , un) ∈ Un ¿Que ocurre con las funciones parciales que con frecuencia sonrequeridas? Podrıamos optar por extender la definicion para contemplar funciones parciales,pero esta opcion acarrea no pocas complicaciones. Por ello, la opcion mas adecuada es utilizarsımbolos de relaciones, en lugar de sımbolos de funcion para representar funciones parcialesy anadir un axioma que asegure que se trata de una funcion. Ası, por ejemplo, si queremosformalizar la funcion “vivienda habitual”, podemos usar un sımbolo de predicado binario,V (x, y), leıdo “la vivienda habitual de x es y” y, para asegurar que “cada individuo tiene unasola vivienda habitual”, anadir el axioma

(∀x)(∀y)(∀z)((V (x, y) ∧ V (x, z))→ y = z

)Un modo alternativo de tratar esta cuestion es anadir un elemento ] al universo U , y con-templar que,

para toda funcion n-aria φ : Un −→ U , se tiene que φ(u1, . . . , un) = ], si ui = ] paraalgun i tal que 1 ≤ i ≤ n.

para todo predicado n-ario P ⊆ U , se tiene que (u1, . . . , un) 6∈ P, si ui = ] para algun ital que 1 ≤ i ≤ n.

para toda valuacion de variables ξ, se tiene que ξ(x) 6= ] para toda variable x ∈ V.

Con esta opcion, si f es un sımbolo de funcion monaria e I(f) : U −→ U es la funcion queasigna a cada u ∈ U su vivienda habitual, expresamos que “Luis no tiene vivienda habitual”por la fbf ¬(∃x)(f(Luis) = x)

Page 102: Logica Clasica de Predicados Computacional 2014 2015

94 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3.4. Algunas Teorıas de Primer Orden con Igualdad

Cadenas: Su signatura contiene

Un sımbolo de constante, denotado ε, para representar la cadena vacıa.

Un conjunto numerable de sımbolos de constantes para representar los caracteres del alfabeto:

a, b, c, . . . , a1, b1, c1, . . . , an, bn, cn, . . .

El sımbolo de funcion binario ‖ para representar la operacion de concatenacion, que usaremos ennotacion infija.

Un sımbolo de predicado binario v para representar la relacion de subcadena, que usaremos ennotacion infija.

El sımbolo de predicado binario =, que usaremos en notacion infija.

La semantica de ‖ y v se recoge mediante los siguientes axiomas propios:

1. (∀x)(x = ε‖x)

2. (∀x)(x v x)

3. (∀x)(∀y)(x = y → (a‖x = a‖y))

4. (∀x)(∀y)(x = y → (x‖a = y‖a))

5. (∀x)(∀y)(∀z)(∀u)((y = z‖u ∧ x v z)→ x v y)

6. (∀x)(∀y)(∀z)(∀u)((y = z‖u ∧ x v u)→ x v y)

Orden parcial: Pretende describir todos los conjuntos parcialmente ordenados; por lo tanto, susignatura satisface las siguientes propiedades:

No tiene sımbolos de constantes ni sımbolos de funcion.

Los unicos sımbolos de predicados son = y un sımbolo de predicado binario, denotado ≤, queusaremos en notacion infija.

La semantica de ≤ se recoge mediante los siguientes axiomas propios:

1. (∀x)(x ≤ x)

2. (∀x)(∀y)((x ≤ y ∧ y ≤ x)→ x = y)

3. (∀x)(∀y)(∀z)((x ≤ y ∧ y ≤ z)→ x ≤ z)

Un modelo para esta teorıa se denomina una estructura de orden parcial.

Aritmetica de primer orden: Su signatura consta de

Un sımbolo de constante: a (para representar al 0).

Un sımbolo de funcion monaria: f11 (para “sucesor” ) y dos sımbolos de funciones binarias: f2

1 (para“suma” ) y f2

2 (para “producto”).

El unico sımbolo de predicados es el sımbolo de predicado binario =.

Denotamos por N al sistema de primer orden con igualdad que tiene como esquemas de axiomas propios(E1)–(E5) y ademas

(N1) (∀x)¬(f11 (x) = a)

(N2) (∀x)(∀y)(f11 (x) = f1

1 (y)→ x = y)

Page 103: Logica Clasica de Predicados Computacional 2014 2015

3.4. ALGUNAS TEORIAS DE PRIMER ORDEN CON IGUALDAD 95

(N3) (∀x)(f21 (x, a) = x)

(N4) (∀x)(∀y)(f21 (x, f1

1 (y)) = f11 (f2

1 (x, y))

(N5) (∀x)¬(f22 (x, a) = a)

(N6) (∀x)(∀y)(f22 (x, f1

1 (y)) = f21 (f2

2 (x, y), x)

(N7) Para toda fbf A(x) tenemos

A(a)→ ((∀x)(A(x)→ A(f11 (x)))→ (∀x)A(x))

A partir de (N7) y (MP) obtenemos la siguiente regla derivada, a la que se denomina regla de induccion,(Ind):

A(a), (∀x)(A(x)→ A(f11 (x))) ` (∀x)A(x))

Teorıa de grupos: Su signatura consta de:

Un sımbolo de constante: e.

Un sımbolo de funcion binaria: ∗.El unico sımbolo de predicados es un sımbolo de predicado binario, denotado =, que usaremos deforma infija.

Sus esquemas de axiomas propios son (E1)–(E5) y los siguientes esquemas:

1. (∀x)(∀y)(∀z)[((x ∗ y) ∗ z) = (x ∗ (y ∗ z))]2. (∀x)(e ∗ x = x)

3. (∀x)(∃y)(y ∗ x = e)

Un modelo para esta teorıa en el que la interpretacion de = es la identidad se denomina una estructurade grupo.

Page 104: Logica Clasica de Predicados Computacional 2014 2015

96 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

3.5. Ejercicios

1. Justificar las siguiente regla derivada (conocida como Regla Existencial) para el sistema de Lukasiewicz:Si t es libre para x en la formula A, entonces

A(t) ` (∃x)A(x)

2. Justificar las siguiente regla derivada para el sistema de Lukasiewicz:

A(x) ` (∀x)(B(x)→ A(x)

3. Justificar en el sistema de Lukasiewicz que si A y B son fbfs y x /∈ Vlibre(B), entonces:

` (∀x)(A→ B)→ (∃x)A→ B)

4. Justificar en el sistema de Lukasiewicz:

a) ` (∀x)A→ (∃x)A.

b) ` (∃x)(A(x)→ B(x))→ ((∀x)A(x)→ (∃x)B(x))

c) ` (∀x)(∀y)(P (x, y)→ Q(x))→ (∀y)(∀x)(P (x, y)→ Q(x))

5. Justificar en el sistema de Lukasiewicz:

a) Si x /∈ Vlibre(B) entonces ` ((∃x)A→ B)→ (∀x)(A→ B).

b) (∀x)(A→ B)→ ((∀x)A(x)→ (∃x)B)

c) (∀x)(A→ B)→ ((∃x)A(x)→ (∃x)B)

6. Justificar en el sistema de deduccion natural DN las reglas derivadas ∃N , N∃ y ∀N .

7. Justificar en el sistema de deduccion natural DN

a) `DN ((∀x)(P (x)→ Q(x)) ∧ (∀x)(P (x)→ R(x)))→ (∀x)(P (x)→ (Q(x) ∧R(x)))

b) `DN ((∀x)(P (x) ∧ (∃x)Q(x))→ (∃x)(P (x) ∧Q(x))

8. Justifica en el sistema de deduccion natural DN

a) (∀x)(∃y)(P (x)→ R(x, y)) `DN (∀x)(P (x)→ (∃y)R(x, y))

b) (∀x)(P (x)→ (∃y)R(x, y)) `DN (∀x)(∃y)(P (x)→ R(x, y))

9. Probar en la teorıa de orden parcial estricto

a) (∀x)(∀y)(R(x, y)→ ¬R(y, x))

b) (∀x)(∀y)((∀y)(R(x, y) ∧R(y, z)→ ¬R(z, x)

)10. En el lenguaje de la teorıa del orden parcial, definir los predicados

a) x es el maximo .

b) x es maximal.

c) no existe ningun elemento entre x e y.

d) x es el sucesor inmediato de y.

11. Probar en N :

a) 1 + 1 = 2

b) Probar que (∀x)(0 + x = x)

Page 105: Logica Clasica de Predicados Computacional 2014 2015

3.5. EJERCICIOS 97

12. Probar en la teorıa de cadenas que abc v aabca es un teorema.

13. Considerar la siguiente teorıa de cajas 3 para razonar acerca de un mundo consistente en tres cajasa, b y c y una mesa m. Cada caja puede estar directamente sobre la mesa o bien apilada sobre otracaja. Para ello necesitamos sımbolos de predicados para formalizar la relacion “x esta encima dey” y la relacion “x esta sobre y” .

Por lo tanto, la signatura consta de

Cuatro sımbolos de constantes: a, b y c y m.

Dos sımbolos de predicados Enc y S.

Los axiomas son

(Ax1) (∀x)(∀y)(∀z)((Enc(x, y) ∧ Enc(y, z))→ Enc(x, z)

)para destacar que encima tiene la propiedad transitiva, y

(Ax2) (∀x)(∀y)(S(x, y)→ Enc(x, y))

para destacar que si una caja esta sobre algo, entonces esta por encima de ese algo.

Elegimos una configuracion de las cajas, a saber, a y c estan sobre la mesa y b esta sobre a. Enconsecuencia, elegimos los tres axiomas siguientes:

(Ax3) S(a,m)

(Ax4) S(c,m)

(Ax5) S(b, a)

Usar esta teorıa para razonar formalmente sobre el mundo que acabamos de describir. Concreta-mente:

a) Probar que b esta encima de la mesa, es decir, ` Enc(b,m).

b) Extender la teorıa para expresar que una caja esta cerrada si tiene otra caja sobre ella, yabierta en otro caso. Probar que b esta abierta.

c) Extender la teorıa para incluir la idea de que dos objetos estan al mismo nivel si estan sobreel mismo objeto, y luego demostrar que a y c estan al mismo nivel.

d) Extender la teorıa de c) para incluir la idea de que dos cajas estan al mismo nivel si losobjetos sobre los que se apoyan estan al mismo nivel. Anadir dos nuevas cajas d y e, la cajad sobre la mesa y e sobre d; despues demostrar que b y e estan al mismo nivel.

14. Considerar la siguiente teorıa, denominada teorıa de un acto vil 4disenada para representar unmundo en el que se ha cometido un crimen. El escenario es el siguiente:

solo Tomas y Helenio tienen llaves. Alguien robo el dinero abriendo la caja fuerte. Launica forma de abrir la caja fuerte es con la llave.

La signatura consta de

Dos sımbolos de constantes: a para denotar Tomas y b para denotar Helenio.

Tres sımbolos de predicados:

a) R(x) para expresar x robo el dinero.

b) C(x) para expresar x abrıa la caja fuerte.

3J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.4J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.

Page 106: Logica Clasica de Predicados Computacional 2014 2015

98 CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

c) Ll(x) para expresar x tenıa una llave.

Los axiomas necesarios para formalizar la situacion son

(Ax1) ((∀x)(C(x)→ Ll(x))

(Ax2) (∃x)(R(x) ∧ C(x))

(Ax3) ((∃x)(R(x) ∧ C(x))

(Ax4) (∀x)(Ll(x)→ ((x = t) ∨ (x = h)))

Usar esta teorıa para razonar formalmente sobre el mundo que acabamos de describir. Concreta-mente:

a) Probar que bien Helenio o bien Tomas robo dinero, es decir, ` R(a) ∨R(b).

b) Extender la teorıa para incluir la afirmacion de la inocencia de Tomas, y demostrar la culpa-bilidad de Helenio.

Page 107: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 4

Metodo de las Tablas semanticas

Indice

4.0.1. Reglas de Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.0.2. Reglas para una Extension Sistematica . . . . . . . . . . . . . . . . . . . 104

4.1. Descripcion del Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.2. Correccion y Completitud . . . . . . . . . . . . . . . . . . . . . . . . . 106

4.2.1. Tablas semanticas para la Construccion de Modelos . . . . . . . . . . . 108

4.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

En el capıtulo anterior hemos introducido los sistemas de deduccion para la logica de primer orden,en este tema y en el siguiente abordamos la posibilidad de automatizacion de las demostraciones en estanueva logica.

Como hemos analizado en los Capıtulos 2 y 3, para la logica de primer orden, la demostracionautomatica de teoremas solo puede aspirar a encontrar procedimientos de semidecision, es decir, procedi-mientos que aseguran su terminacion solo si la formula o inferencia a la que se aplican es valida. Como enel caso proposicional, la mayor parte de los trabajos en este area se basan en dos metodos de refutacion:

1. metodo de las tablas semanticas o de construccion de modelos.

2. metodo de resolucion.

En este capıtulo extendemos a la logica de primer orden el primero de ellos.

Introducimos el metodo como extension del expuesto para la logica proposicional, ası pues, presenta-mos la formulacion del metodo debida a Jeffrey y Smullyan. 1; 2

Como tal sistema de refutacion, para verificar la validez de una formula A, el metodo de tablassemanticas determina si ¬A es satisfacible. Para ello 3 el metodo organiza la busqueda sistematica deun modelo para ¬A. Si la busqueda tiene exito, A no es valida, pero si la busqueda fracasa, entonces Aes valida. Similarmente, si se trata de comprobar la validez de la inferencia de una formula A a partirde un conjunto de hipotesis Γ, entonces el metodo determina la satisfacibilidad de Γ ∪ ¬A buscando

1R. C. Jeffrey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traduccion al espanol por Ed. Univ.de Navarra, 1986.

R. M. Smullyan. First-Order Logic. Springer-Verlag, 1968. Vuelto a publicar por Dover en 1995.J. H. Gallier. Logic for Computer Science: Foundations for Automatic Theorem Proving. Wiley & Sons, 1987.2Para otras formulaciones ver:E. Beth. The foundations of mathematics. North-Holland, 1959.3Al igual que en el caso proposicional

Page 108: Logica Clasica de Predicados Computacional 2014 2015

100 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

sistematicamente un modelo para dicho conjunto. Si la busqueda tiene exito, la inferencia es valida, encaso contrario, no es valida.

Por lo tanto, tendremos que extender el metodo visto para el caso proposicional, de modo que incluyauna busqueda de instanciaciones de formulas cuantificadas.

Definicion 4.1 Dado el conjunto de fbfs Ω = A1, . . . , An cuya satisfacibilidad se quiere comprobar, seorganizan las formulas de Ω en un arbol de una sola rama con razon A1 y tal que cada Ai con 2 ≤ i ≤ nes sucesor inmediato de Ai−1, es decir,

An

...

A2

A1

Llamamos a este arbol arbol inicial asociado a Ω.

El arbol inicial asociado a Ω se ira ampliando sucesivamente mediante reglas de extension basadastan solo en la estructura sintactica de las fbfs.

Para la descripcion del metodo utilizaremos, como en el caso proposicional, la notacion uniforme

de Smullyan, es decir, agruparemos las formulas no literales cuya conectiva principal es una conecti-va booleana en fbfs de tipo α (o de comportamiento conjuntivo) y de tipo β (o de comportamientodisyuntivo).

Las siguientes tablas muestran las fbfs de tipo α y las fbfs de tipo β junto con sus componentes.

α α1 α2

A ∧B A B

¬(A ∨B) ¬A ¬B¬(A→ B) A ¬B¬¬A A A

β β1 β2

A ∨B A B

¬(A ∧B) ¬A ¬BA→ B ¬A B

Para clasificar las fbfs cuantificadas, introducimos dos nuevos tipos de formulas: fbfs de tipo δ (ocuantificadas existencialmente) y formulas de tipo γ (o cuantificadas universalmente).

Las siguientes tablas muestran las formulas de tipo δ y de tipo γ junto con sus componentes.

δ δ(t)

¬(∀x)A(x) ¬A(t)

(∃x)A(x) A(t)

γ γ(t)

¬(∃x)A(x) ¬A(t)

(∀x)A(x) A(t)

donde t es un termino basico (sin sımbolos de variables).

4.0.1. Reglas de Extension

El arbol inicial asociado a un conjunto de formulas Ω, denotado TΩ, es extendido sucesivamente,para obtener arboles asociados a Ω, mediante las reglas denotadas (α), (β), (δ) y (γ) que describimos acontinuacion: 4

(α) Si ρA denota la rama determinada por el nodo hoja A y una α-formula ocurre en ρA, extendemosdicha rama anadiendo:

4Las reglas (α) y (β) son las mismas que en el caso proposicional

Page 109: Logica Clasica de Predicados Computacional 2014 2015

101

(a) Dos nodos etiquetados con sus componentes α1, α2 si α1 6= α2.

(b) Un nodo etiquetado con la componente comun si α1 = α2.

y marcamos la α-formula como ya usada:

α2

α1

A

...

α X

...

−→

A

...

α

...

(β) Si ρA denota la rama determinada por el nodo hoja A y una β-formula ocurre en ρA, extendemosdicha rama anadiendo:

(a) Dos nodos (como descendiente izquierdo y derecho) etiquetados con sus componentes β1 y β2

respectivamente, si β1 6= β2.

(b) Un nodo etiquetado con la componente comun , si β1 = β2.

y marcamos la β−formula como ya usada:

β2β1

@@

A

...

β X

...

−→

A

...

β

...

Las reglas (δ) y (γ) requieren considerar, como hicimos en la Definicion 1.42 sobre skolemizacion y poridenticos motivos, la extension de L1:

Definicion 4.2 Dado un lenguaje L1 de primer orden, definimos L+1 como la extension de L1 obtenida

anadiendo a su alfabeto un conjunto infinito numerable C′ de nuevos sımbolos de constante a los quellamaremos parametros.

(δ) Si ρA denota la rama determinada por el nodo hoja A y una formula δ(x) ocurre en ρA, extendemosdicha rama anadiendo δ(a), donde a es un parametro que no aparece previamente en la rama, ymarcamos la δ-formula:

δ(a)

A

...

δ(x) X

...

−→

A

...

δ(x)

...

Page 110: Logica Clasica de Predicados Computacional 2014 2015

102 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

(γ) Si ρA denota la rama determinada por el nodo hoja A y una formula γ(x) ocurre en ρA, extendemosdicha rama anadiendo γ(t) donde t es un termino basico que aparece previamente en la rama, salvoque γ(t) ocurra ya en la rama.

γ(t)

A

...

γ(x)

...

−→

A

...

γ(x)

...

eer rLa definicion de las reglas γ y δ corroboran la idea de que las γ-formulas son de tipo universaly la δ-formulas son de tipo existencial.

Conviene resaltar que la regla δ (para fbfs de caracter existencial) permite eliminar la cuan-tificacion sustituyendo la variable cuantificada por un nuevo sımbolo de constante (concre-tamente, un parametro) y marcando como usada la fbf δ(x). Por el contrario, una aplicacionde la regla γ (para fbfs de caracter universal) permite sustituir la variable cuantificada porun termino que aparecio anteriormente (es decir, sobre el que ya estamos interesado) perono estara permitido marcar la fbf γ(x).

La regla γ es, por lo tanto, la unica que no sustituye la fbf por otras mas simples: anadeuna mas simple pero mantiene la de partida. La razon es que, claramente, con [x/t]A(x)no cubrimos toda la informacion contenida en (∀x)A(x); puede ser necesario en una etapaposterior instanciar (∀x)A(x) con algun otro termino t′ y expandir la rama con A(t′). Deesta forma aseguramos que las fbfs cuantificadas universalmente se podran instanciar conterminos basicos que aun no han sido introducidos.

Definicion 4.3 Sea Ω = A1, . . . , A2 un conjunto de fbfs. Un arbol T se dice que es un arbol para

Ω, si existe una secuencia de arboles T1, . . . , Tn, . . . tal que:

T1 es el arbol inicial asociado a Ω, es decir, el arbol de una sola rama:

An

...

A2

A1

Cada arbol Ti, donde i ≥ 2, es un arbol asociado a Ω que es extension inmediata de Ti−1, esdecir, Ti se obtiene de Ti−1 por aplicacion de una regla de extension a uno de sus nodos.

si T es finito, existe k tal que Tk = T , en otro caso, T =⋃n∈N Tn.

eer rEn adelante, en los ejemplos, anadiremos un subındice a las marcas X, que nos indique elorden de aplicacion de las reglas.

Page 111: Logica Clasica de Predicados Computacional 2014 2015

103

Ejemplo 4.1 Si no exigimos que cada aplicacion de la regla δ introduzca una nueva constante, podrıamoscometer el error de concluir que la formula

A = (∀x)(P (x) ∨Q(x))→ ((∀x)P (x) ∨ (∀x)Q(x))

es valida:

¬[(∀x)(P (x) ∨Q(x))→ ((∀x)P (x) ∨ (∀x)Q(x))] X1

(∀x)(P (x) ∨Q(x)) X5[x/a])

¬((∀x)P (x) ∨ (∀x)Q(x)) X2

¬(∀x)P (x) X3[x/a]

¬(∀x)Q(x) X4[x/a] (Hemos utilizado de nuevo a)

¬P (a)

¬Q(a)

P (a) ∨Q(a) X6

@@P (a) Q(a)

× ×

Sin embargo, A no es valida ya que la interpretacion

M = (a, b,∅,∅, P ; b, Q; a)

no es un modelo para A.

Ejemplo 4.2 Aun aplicando correctamente la regla δ, si se aplica la regla γ marcamos la formula,podrıamos cometer el error de concluir que dada la formula

A = (∀x)(P (x) ∨Q(x))→ ((∀x)P (x) ∨ (∀x)Q(x))

la interpretacion M = (a, b,∅,∅, Q; a) es un modelo para ¬A:

¬[(∀x)(P (x) ∨Q(x))→ ((∀x)P (x) ∨ (∀x)Q(x))] X1

(∀x)(P (x) ∨Q(x)) X5[x/a] (la hemos marcado)

¬((∀x)P (x) ∨ (∀x)Q(x))X2

¬(∀x)P (x)X3[x/a]

¬(∀x)Q(x)X4[x/b]

¬P (a)

¬Q(b)

P (a) ∨Q(a)X6

@@P (a) Q(a)

×

La imposibilidad de marcar una γ-formula una vez que ha sido usada plantea varios problemas: ¿Comose define el concepto de rama completa? Este concepto es necesario para describir el metodo, puesto quesi se extiende directamente la definicion proposicional, olvidando el tratamiento especial necesario paralas γ-formulas, no es posible demostrar que toda rama abierta de un arbol completo es satisfacible. Lasolucion a este problema pasa por definir un metodo sistematico de busqueda.

Page 112: Logica Clasica de Predicados Computacional 2014 2015

104 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

4.0.2. Reglas para una Extension Sistematica

A continuacion describimos las reglas para construir tablas semanticas de un modo sistematico paraque, como hemos indicado, podamos asegurar que cada rama abierta es satisfacible.

Comenzamos la construccion mediante el arbol inicial de la formula o inferencia que se quiere verificar;este es el primer paso.

Suponiendo que hemos terminado el n-esimo paso, describimos el (n+ 1)-esimo paso como sigue:

Si el arbol obtenido en el n-esimo paso es un arbol cerrado, el metodo termina con salida es

VALIDA

Si el arbol obtenido en el n-esimo paso es tal que para cada rama abierta toda formula no atomicaha sido marcada, entonces el metodo termina con salida NO es VALIDA.

En otro caso, consideramos un nodo A de profundidad minimal que aun no haya sido usado y queaparezca en alguna rama abierta. La extension de la tabla se realiza para cada rama abierta ρX(con nodo hoja etiquetado con X) como se indica a continuacion:

1. Si A es del tipo α la rama ρX se extiende anadiendo α1 y α2.

2. Si A es del tipo β la rama ρX se bifurca en dos ramas anadiendo dos nodos etiquetados conβ1 y β2 respectivamente.

3. Si A es del tipo δ la rama ρX se extiende marcando A y anadiendo un nodo δ(a), donde a esun parametro que no aparece previamente en la rama.

4. Finalmente, y este es el caso delicado, si A es del tipo γ se marca A y se extiende la ramaanadiendo dos nodos etiquetados con γ(t) y A respectivamente, donde t es un termino basicoque aparece previamente en ρX (o un parametro arbitrario, si no existe tal termino).

eer rNotese que para conservar la universalidad de las γ-formulas se repite el nodo γ, pero amayor profundidad; esto permite usar todas las γ-formulas que aparezcan de modo rotativoy permite marcar el nodo como usado.

Como en el caso proposicional, las demostraciones son arboles cerrados:

Definicion 4.4 Sea T un arbol para Ω.

Una rama de T se dice que es cerrada, si en ella ocurren un atomo P y su negacion ¬P ; en cuyocaso decimos que el metodo es con cierre atomico. O mas en general, si en ella ocurren unaformula B y su negacion ¬B; en cuyo caso decimos que el metodo es con cierre no atomico.

Una rama de T se dice que es abierta si no es cerrada.

Un arbol T se dice cerrado si todas sus ramas son cerradas.

Definicion 4.5 Una rama abierta ρ de un arbol T para Ω se dice completa si satisface las siguientescondiciones:

1. Si una formula α ocurre en la rama ρ, tambien sus componentes α1 y α2 ocurren en ρ.

2. Si una formula β ocurre en la rama ρ, o la componente β1 o la componente β2 ocurre en ρ.

3. Si una formula δ ocurre en la rama ρ, una componente δ(a) ocurre en ρ para algun parametro a.

4. Si una formula γ ocurre en la rama ρ, las componentes γ(t) ocurren en ρ para todo termino basico.

Page 113: Logica Clasica de Predicados Computacional 2014 2015

4.1. DESCRIPCION DEL METODO 105

Un arbol T para Ω se dice terminado si toda rama es cerrada o completa.

Definicion 4.6 Llamamos refutacion para un conjunto Ω de fbfs a cualquier arbol cerrado para Ω. Unaformula C se dice que se deriva o infiere del conjunto de formulas H1, . . . ,Hn, si existe una refutacionpara H1, . . . ,Hn,¬C. En particular, una formula A se dice demostrable si existe una refutacion para¬A.Una rama ρ se dice satisfacible si el conjunto de las fbfs que etiquetan los nodos ρ es satisfacible. Unarbol T para Ω se dice satisfacible si alguna de sus ramas es satisfacible.

4.1. Descripcion del Metodo

Siguiendo a Jeffrey, 5 en la Figura 4.1 mostramos un diagrama de flujo para la construccion de unarbol de refutacion.

Negaci´on delaformulao bien

Hip.1,Hip.2,...,Hipn,negaci´on delaconclusi´on

Aplicar(α )o (β )siguiendoeldiagramaproposicional

¿Hay algunaramaabierta?

SI NO

ES V ALIDA

¿ocurrenδ o γ -f´ormulasenalgun nodo?

SI NO

NO ES V ALIDA

¿Esaplicable(δ )a algun nodo?

SI NO

Aplıquese

¿Esaplicable(γ )?

SI NO

Aplıquese

Figura 4.1:

Debemos tener en cuenta las siguientes observaciones.

1. No se puede realizar ningun proceso de normalizacion previo al algoritmo; las formulas debenincluirse tal y como aparecen en el problema inicial. Naturalmente, esto no es una limitacion

5R. C. Jeffrey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traduccion al espanol por Ed. Univ.de Navarra, 1986.

Page 114: Logica Clasica de Predicados Computacional 2014 2015

106 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

del algoritmo, pero uno de los objetivos del curso es entender las caracterısticas de cada metodoy algoritmo y el poder trabajar con todo tipo de formulas es una caracterıstica de las tablassemanticas que debemos explotar.

2. Tal y como se refleja en el diagrama, el orden de prioridad de las extensiones es α, γ y β. Este ordenesta determinado por cuestiones de eficiencia; dejamos para el final la extension β, responsable dela generacion de nuevas ramas.

3. Las extensiones δ se hacen cuando no haya formulas α, γ o β sin marcar: se elige una formula δ,se aplica la δ regla y se vuelve a aplicar la regla γ con la nueva constante introducida.

4. El orden de expansion de las formulas y de los terminos usados en las extensiones γ no condicionala correccion del metodo, pero sı el tamano de la tabla construida. En las implementaciones delalgoritmo es necesario establecer un orden, pero en la aplicacion manual podremos elegir librementelas formulas y terminos, aunque respetando siempre los criterios de prioridad.

Teorema 4.1 Toda refutacion para un conjunto Ω de fbfs es un arbol finito.

Demostracion: Puesto que, por construccion, nunca realizamos extensiones sobre una rama cerrada,tenemos asegurado que toda rama cerrada es finita. Por lo tanto, el lema de Konig asegura el resultado.

En la logica clasica proposicional, la aplicacion sistematica de las reglas a nodos no marcados nose prolonga indefinidamente, y consecuentemente, cualquier arbol da lugar a un arbol terminado en unnumero finito de aplicaciones. Sin embargo, en la construccion de un arbol en la logica clasica de primerorden, la aplicacion de las reglas puede prolongarse indefinidamente y generar arboles infinitos que, porel lema de Konig, tendran ramas infinitas. El siguiente ejemplo ilustra esta afirmacion. En el mostramosun arbol infinito para una formula satisfacible.

Ejemplo 4.3 La formula A = (∀x)(∃y)P (x, y) es satisfacible, ya que (N, <) es un modelo para estaformula. Sin embargo, si A es la entrada al metodo, la ejecucion da lugar a un arbol infinito:

(∀x)(∃y)P (x, y) X1[x/a]

(∃y)P (a, y) X2

(∀x)(∃y)P (x, y) X3[x/b]

P (a, b)

(∃y)P (b, y) X4

(∀x)(∃y)P (x, y) X5[x/c]

P (b, c)

(∃y)P (c, y) X6

::

4.2. Correccion y Completitud

Como era de esperar, la adecuada definicion de las reglas de extension asegura la correccion delmetodo. Por su parte, la construccion sistematica del arbol nos permite asegurar su completitud. Elsiguiente teorema es el resultado semantico basico del metodo:

Teorema 4.2 Si T es un arbol satisfacible para Ω entonces todo arbol para Ω obtenido al aplicar a Tcualquier regla de extension es tambien satisfacible.

Page 115: Logica Clasica de Predicados Computacional 2014 2015

4.2. CORRECCION Y COMPLETITUD 107

Demostracion: Sea T un arbol satisfacible para Ω y sea ρ una rama satisfacible de T . Supongamos queT ′ ha sido obtenido al aplicar una regla de extension a un nodo de la rama ρ′ de T que esta etiquetadocon una fbf A. Entonces,

1. Si ρ = ρ′, ρ es una rama de T ′ y por lo tanto T ′ es satisfacible.

2. Si ρ 6= ρ′, podemos distinguir los siguientes casos:

a) Para los casos en los que A es una α-formula o una β-formula, la demostracion es consecuencia(como en el caso proposicional) de las equivalencias α ≡ α1 ∧ α2 y β ≡ β1 ∨ β2.

b) Si A es una δ-formula entonces, T ′ ha sido obtenido al anadir al nodo hoja de ρ un nodoetiquetado con la componente δ(a) de A. Sea M = (U, I) un modelo para ρ, entonces Mes un modelo para δ(a). Supongamos que δ = (∃x)B(x) (la demostracion para el caso enque δ(x) = ¬(∀x)B(x) ≡ (∃x)¬B(x) es analoga ). Sea ξ una valuacion de variables tal queIξ(B(x)) = 1. Puesto que a no ocurre en ρ, podemos extender M a una interpretacion M′que coincide conM salvo que I(a) = ξ(x). Obviamente,M′ es un modelo para ρ∪ δ(a). Porlo tanto, T ′ es satisfacible.

c) Si A es una γ-formula, entonces T ′ ha sido obtenido al anadir al nodo hoja de ρ dos nodosetiquetados, respectivamente, con γ y con la componente γ(t) de A. SeaM = (U, I) un modelopara ρ, entoncesM es un modelo para γ(t). Supongamos que γ = (∀x)B(x) (la demostracionpara el caso en que γ(x) = ¬(∃x)B(x) ≡ (∀x)¬B(x) es analoga ). Puesto que todo modelopara γ(x) es un modelo para γ(t), M es tambien un modelo para ρ ∪ γ, γ(t). Por lo tanto,T ′ es satisfacible.

Teorema 4.3 (Existencia de modelo) Toda rama completa y abierta ρ de un arbol T para un conjuntode fbfs Ω es satisfacible.

Demostracion: Sean T ermbρ y Pρ el conjunto de terminos basicos y el conjunto de sımbolos de predicado

respectivamente que intervienen en las formulas que etiquetan los nodos de ρ. Sea FBF ρ el conjunto deformulas que etiquetan los nodos de ρ y Atomρ, en particular, el conjunto de atomos que etiquetan losnodos de ρ. Definamos una interpretacion, (Uρ, Iρ), construida a partir de la rama ρ como sigue:

1. Uρ = T ermbρ.

2. Iρ es una aplicacion tal que:

para cada termino t ∈ T ermbρ, I

ρ(t) = t;

para cada sımbolo de predicado n-ario P ∈ P ρ tal que: Iρ(P ) = (t1, . . . , tn) | P (t1, . . . , tn) ∈Atomρ.

Probaremos ahora que toda formula de FBF ρ es verdadera en Mρ. En efecto, por reduccion alabsurdo, supongamos que existe al menos una formula FBF ρ que es falsa en Mρ. Elijamos la de menorgrado (o una de ellas, si hay mas de una) con dicha propiedad, sea A tal formula. Es decir, se cumple:

(H) Iρ(A) = 0 y para toda B ∈ FBF ρ tal que gr(B) < gr(A), se tiene que Iρ(B) = 1.

A no puede ser un literal, dada la definicion de Iρ:

-Si A = P (t1, . . . , tn), entonces Iρ(P (t1, . . . , tn)) = 1, pues (ti, . . . , tn) ∈ Iρ(P ).

-Si A = ¬P (t1, . . . , tn), entonces (ti, . . . , tn) /∈ Iρ(P ); de lo contrario, P (t1, . . . , tn) ∈ Atomρ y larama ρ estarıa cerrada. Luego Iρ(P (t1, . . . , tn)) = 0, es decir, Iρ(¬P (t1, . . . , tn)) = 1.

Por lo tanto, A tiene que ser una α, una β, una δ o una γ-formula. Veamos que tampoco puede darseninguno de estos casos.

Page 116: Logica Clasica de Predicados Computacional 2014 2015

108 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

Si A fuera una α-formula, dado que ρ es una rama completa y abierta se tiene que α1 y α2 ∈ FBF ρ.Como gr(α1), gr(α2) < gr(α), entonces por la hipotesis (H), Iρ(α1) = Iρ(α1) = 1. Entonces Iρ(α) = 1.Pero esto contradice (H), que establece que Iρ(A) = Iρ(α) = 0. Ası pues, A no puede ser una α.

Si A fuera una β-formula, dado que ρ es una rama completa y abierta se tiene que β1 ∈ FBF ρ obien β2 ∈ FBF ρ. Dado que gr(β1), gr(β2) < gr(β), por (H) tendrıamos que si β1 ∈ FBF ρ, entoncesIρ(β1) = 1 y si β2 ∈ FBF ρ, entonces Iρ(β2) = 1. En cualquier caso, Iρ(β) = 1. Pero esto contradice lahipotesis (H), la cual establece que Iρ(A) = Iρ(β) = 0. Ası pues, A tampoco puede ser una β-formula.

Si A fuera una δ-formula, dado que ρ es una rama completa y abierta se tiene que δ(a) ∈ FBF ρ, paraalguna constante a. Dado que gr(δ(a)) < gr(δ), por la hipotesis (H) resulta que Iρ(δ(a)) = 1. EntoncesIρ(δ) = 1. Pero esto contradice (H), que establece que Iρ(A) = Iρ(δ) = 0.

Si A fuera una γ-formula, dado que ρ es una rama completa y abierta se tiene que γ(t) ∈ FBF ρ, paratodo termino t ∈ T ermb

ρ. Dado que gr(γ(t)) < gr(γ) para todo t ∈ T ermbρ, por la hipotesis (H) resulta

que Iρ(γ(t)) = 1 para todo t ∈ T ermbρ. Entonces Iρ(γ) = 1. Pero esto contradice (H), que establece que

Iρ(A) = Iρ(γ) = 0.

Hemos recorrido todas las posibilidades de A y en ningun caso puede ser Iρ(A) = 0. Por tanto, todaformula de FBF ρ es verdadera enMρ. De esto se sigue que ρ tiene un modelo y, por tanto, el arbol tieneuna rama satisfacible. Esto concluye la prueba.

Teorema 4.4 (Correccion y completitud)

1. Si existe una refutacion para H1, . . . ,Hn,¬C, entonces H1, . . . ,Hn |= C.

2. Si H1, . . . ,Hn |= C entonces existe una refutacion para H1, . . . ,Hn,¬C. Mas aun, si H1, . . . ,Hn,¬Ces insatisfacible, entonces la construccion sistematica debe terminar en un numero finito de pasos.

Demostracion:

1. Suponemos que existe una refutacion para H1, . . . ,Hn,¬C. Deseamos probar H1, . . . ,Hn |= C,es decir que H1, . . . ,Hn,¬C es insatisfacible. Lo probamos por reduccion al absurdo:

Si Ω = H1, . . . ,Hn,¬C fuera satisfacible, por el Teorema 4.2, todo arbol asociado a Ω es satis-facible, es decir, todo arbol para Ω tendrıa una rama abierta, lo cual es imposible por hipotesis.

2. Suponemos H1, . . . ,Hn |= C. Deseamos probar que existe una refutacion para H1, . . . ,Hn,¬C.Lo probamos por reduccion al absurdo:

Si no existiera una refutacion para Ω = H1, . . . ,Hn,¬C, y si T es un arbol asociado a Ω, T tieneuna rama abierta ρ tal que tras la aplicacion de reglas a sus nodos sigue proporcionando una ramaabierta. Ahora bien, la construccion sistematica, nos asegura que para todo nodo N en ρ si A esla etiqueta de N y A no esta marcada, el metodo aplicara en algun momento de su ejecucion unaregla a A.

En particular, si A es una γ-formula y t es un termino basico que ocurre en ρ, existe un descendienteN ′ de N etiquetado con γ(t). En definitiva, construirıamos una rama abierta y completa y, porel Teorema 4.3 de existencia de modelo, Ω = H1, . . . ,Hn,¬C serıa satisfacible en contra de lahipotesis.

4.2.1. Tablas semanticas para la Construccion de Modelos

Igual que en el caso proposicional, los metodos de demostracion son realmente algoritmos de satis-facibilidad con los que buscamos determinar un modelo de la formula o formulas de entrada. Si estamosinteresados en estudiar la validez de una formula o de un razonamiento, aplicaremos en primer lugar elprincipio de refutacion.

En una logica clasica de primer orden, la busqueda de un modelo supone:

Page 117: Logica Clasica de Predicados Computacional 2014 2015

4.2. CORRECCION Y COMPLETITUD 109

Determinar una dominio M : este dominio contendra, al menos, las constantes que aparecen en elconjunto inicial, pero puede contener mas elementos.

A cada atomo basico construido sobre el dominio M le tenemos que asignar un valor de verdad,I(A) ∈ 0, 1. Como en el caso proposicional, en la mayorıa de los problemas determinaremos unainterpretacion parcial, es decir, bastara con asignar valores de verdad a algunos atomos basicos.

Para acercarnos intuitivamente a la busqueda de modelos, veamos el siguiente ejemplo resuelto a nivelsemantico.

Ejemplo 4.4 Vamos a buscar un modelo de la formula

¬((∀x)P (x) ∨ (∀x)Q(x))→ (∀x)(P (x) ∨Q(x)))

I((∀x)P (x) ∨ (∀x)Q(x))→ (∀x)(P (x) ∨Q(x))) = 0 (1)I((∀x)P (x) ∨ (∀x)Q(x)) = 1 (4)I(∀x)(P (x) ∨Q(x))) = 0 (2) : a

I(P (a) ∨Q(a)) = 0 (3)I(P (a)) = 0I(Q(a)) = 0

I((∀x)P (x)) = 1 (5) : a I((∀x)Q(x)) = 1 (6) : aI(P (a)) = 1 I(Q(a)) = 1(Absurdo) (Absurdo)

En este caso, concluimos que es imposible encontrar ningun modelo.

En la lınea que hemos utilizado en segundo lugar y que aparece marcada con “(2):a”, hemosutilizado el siguiente hecho: para conseguir que I((∀x)(P (x) ∨ Q(x))) = 0, necesitamos que hayaun elemento en el dominio, al que llamamos a, que verifique I(P (a) ∨ Q(a)) = 0. Como el casoproposicional, la busqueda del modelo se hace transmitiendo la evaluacion a las subformulas, peroen este caso, ademas, necesitamos determinar el valor de estas subformulas para elementos concretosdel dominio.

En la lınea I((∀x)P (x)) = 1, usada en quinto lugar y etiquetada con “(5):a”, necesitamos decirque “todos” los atomos P (t) son verdaderos en la interpretacion que estamos construyendo. Dadoque no podemos hacer esto, ya que ni siquiera sabemos cual puede ser finalmente el dominio, loque hemos hecho ha sido proceder parcialmente, es decir, utilizamos los elementos del dominio quehemos introducido hasta ese momento. A diferencia del caso proposicional, en que cada formulaera usada solo una vez, este tipo de fbfs de primer orden deberan ser usadas para cada elementonuevo que anadamos.

Mas formalmente, el teorema de existencia de modelos, Teorema 4.3, asegura que en un arbol termi-nado para un conjunto Ω de fbfs, cada rama abierta ρ, proporciona un modelo para Ω, concretamente,el modelo de Herbrand respecto de L+

1 determinado por la interpretacion I tal que I(A) = 1 si A ocurreen ρ e I(A) = 0 si ¬A ocurre en ρ.

Page 118: Logica Clasica de Predicados Computacional 2014 2015

110 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

Ejemplo 4.5 La formula A = (∃x)(∀y)R(x, y)→ (∃x)R(x, a) es valida.

¬[(∃x)(∀y)R(x, y)→ (∃x)R(x, a)] X1

(∃x)(∀y)R(x, y) X3

¬(∃x)R(x, a) X2

¬R(a, a)

¬(∃x)R(x, a) X4[x, a]

(∀y)R(b, y) X5

¬R(b, a)

¬(∃)R(x, a) [x/a, b]

R(b, a)

(∀y)R(b, y) [y/b]×

Ejemplo 4.6 La formula A = (∀x)(P (x)→ Q(x))→ ((∀x)P (x)→ (∀x)Q(x)) es valida.

¬[(∀x)(P (x)→ Q(x))→ ((∀x)P (x)→ (∀x)Q(x))] X1

(∀x)(P (x)→ Q(x)) X4 [x/a]

¬((∀x)P (x)→ (∀x)Q(x)) X2

(∀x)P (x) X5 [x/a]

¬(∀x)Q(x) X3

¬Q(a)

P (a)→ Q(a) X6

(∀x)(P (x)→ Q(x))

P (a)

(∀x)P (x)

@@¬P (a) Q(a)××

Ejemplo 4.7 La formula A = ¬[((∃x)P (x) ∨R(a)) ∧ (∀y)Q(y)] no es valida.

¬¬[((∃x)P (x) ∨R(a)) ∧ (∀x)Q(y)] X1

((∃x)P (x) ∨R(a)) ∧ (∀y)Q(y) X2

(∃x)P (x) ∨R(a) X3

(∀y)Q(y) X4[x/a]

HH(∃x)P (x) X5 R(a)

Q(a)Q(a)

(∀y)Q(y) [x, a](∀y)Q(y) [x, a] X6

P (b)

Q(b)

(∀y)Q(y) [x/a, b]

donde cada rama abierta nos proporciona un modelo para la formula ¬A.

Ejemplo 4.8 La inferencia

(∀x)(∃y)P (y, x), (∀u)(∀v)(P (u, v)→ Q(u, v)) |= (∀z)(∃t)Q(t, z) es valida.

En este ejemplo, para hacer mas simple el grafico, en lugar de marcar las γ-formulas y repetirlastras su uso, hemos indicado a su derecha el orden en que han sido utilizadas, detallando las sustituciones

Page 119: Logica Clasica de Predicados Computacional 2014 2015

4.2. CORRECCION Y COMPLETITUD 111

realizadas.

(∀x)(∃y)P (y, x) ((2)[x/a]; (8)[x/b])

(∀u)(∀v)(P (u, v)→ Q(u, v)) ((3)[u/a]; (9)[u/b])

¬(∀z)(∃t)Q(t, z) X1

¬(∃t)Q(t, a) ((4)[t/a]; (10)[t/b])

((∃y)P (y, a) X7

(∀v)(P (a, v)→ Q(a, v)) ((5)[v/a]; (11)[v/b])

¬Q(a, a)

P (a, a)→ Q(a, a) X6

@@¬P (a, a) Q(a, a)

×P (b, a)

(∃y)P (y, b)

(∀v)(P (b, v)→ Q(b, v)) ((12)[v/a]; (13)[v/b])

¬Q(b, a)

P (a, b)→ Q(a, b) X14

P (b, a)→ Q(b, a) X15

P (b, b)→ Q(b, b)

@@Q(a, b)¬P (a, b)

@@Q(b, a)¬P (b, a)

@@Q(b, a)¬P (b, a)

× × ××

Ejemplo 4.9 Vamos a estudiar la validez del siguiente razonamiento usando el metodo de Gilmore y elde las Tablas semanticas.

El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lo tantotodo el mundo tiene un abuelo.

Leyendo la relacion P (x, y) como “x es padre de y” y la relacion A(x, y) como “x es abuelo de y” podemosescribir la siguiente formalizacion:

(∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ A(x, z))(∀x)(∃y)P (y, x)(∀x)(∃y)A(y, x)

Este razonamiento es valido si y solo si el siguiente conjunto es satisfacible:

(∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ A(x, z)), (∀x)P (f(x), x),∀y¬A(y, a)

Su dominio de Herbrand esHS = a, f(a), f(f(a)), f(f(f(a))), . . .

y la base de Herbrand

BS = P (t1, t2); t1, t2 ∈ HS ∪ A(t1, t2); t1, t2 ∈ HS

Construimos el arbol de Gilmore para A1 ∧A2 ∧A3 con:

A1 = (∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ A(x, z)),

A2 = (∀x)P (f(x), x), A3 = (∀y)¬A(y, a)

Page 120: Logica Clasica de Predicados Computacional 2014 2015

112 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

La tabla semantica que demuestra igualmente la validez del razonamiento se muestra a continuacion.La diferencia de tamano entre los dos arboles no debe conducir a conclusiones erroneas sobre la com-plejidad de los metodos. Debe tenerse en cuenta que, por una parte, el metodo de Gilmore requiere unproceso de normalizacion previo y que, ademas, en ambos casos hemos elegido un orden optimo para lassucesivas extensiones de los arboles.

Es interesante comparar las dos soluciones. En las dos, hemos necesitado tres elementos para lograrlas inconsistencias: a, b y c en las tablas y a, f(a) y f(f(a)) en el arbol de Gilmore. Ademas, en amboscasos, el significado de los mismos en el modelo es el mismo: b es el padre de a y c es el padre de b,ası como f(a) es el padre de a y f(f(a)) es el padre de f(a).

Page 121: Logica Clasica de Predicados Computacional 2014 2015

4.3. EJERCICIOS 113

4.3. Ejercicios

1. Aplicar el metodo de las tablas semanticas para analizar la validez o no de las siguientes fbfs:

a) (∃x)((∃yP (y)→ P (x))

b) (∀x)(∃y)P (x, y)→ (∃z)(∀t)P (t, z)

c) (∃x)(P (x)→ Q(x))→ ((∃xP (x)→ (∃x)Q(x))

d) (∀x)(P (x)→ Q(x))→ ((∀x)P (x)→ (∀x)Q(x))

e) (∀x)[P (x)→ (∃y)(Q(y) ∧R(y, x))]↔ (∃x)[Q(x) ∧ (∀y)(P (y)→ R(x, y))]

f ) (∀x)(P (x) ∧Q(x))→ ((∀x)P (x) ∧ (∀x)Q(x))

g) ((∀x)P (x) ∧ (∀x)Q(x))→ (∀x)(P (x) ∧Q(x))

2. Aplicar el metodo de las tablas semanticas para analizar la validez o no de las siguientes fbfs:

a) (∀x)(P (x) ∨Q(x))→ ((∀x)P (x) ∨ (∀x)Q(x))

b) ((∀x)P (x)→ (∀x)Q(x))→ (∀x)(P (x)→ Q(x))

c) (∃x)(∀y)R(x, y)→ (∀y)(∃x)R(x, y)

d) (∃x)(P (x)→ (∀x)P (x))

e) (∀x)(∀y)(P (x) ∧ P (y))→ (∃x)(∃y)(P (x) ∨ P (y))

f ) (∀x)(∀y)(P (x) ∧ P (y))→ (∀x)(∀y)(P (x) ∨ P (y))

g) (∀x)(∃y)(∀z)(∃w)(R(x, y) ∨R(w, z))

3. Aplicar el metodo de las tablas semanticas para analizar la validez o no de la siguiente inferencia

(∀x)(∃y)P (x, y)

(∀x)¬P (x, x)

(∃x)(∃y)(∃z)¬((P (x, y) ∧ P (y, z))→ P (x, z)

)4. Estudie la validez de la siguientes inferencias utilizando Tablas semanticas:

a)

(∀x)((∃y)(S(x, y) ∧M(y))→ (∃y)(I(y) ∧ E(x, y)))¬(∃x)I(x)→ (∀x)(∀y)(S(x, y)→ ¬M(y))

b)

(∀x)(G(x)→M(x))(∀x)(M(x)→ F (x))¬(∀x)(¬G(x)→ ¬F (x))

5. Aplicar el metodo de las tablas semanticas para analizar la validez o no del siguiente razonamiento:

(∃x)(∀y)P (x, y)

(∃x)(∃y)(P (x, y)→ Q(x, y))

(∃x)(∀y)Q(x, y)

6. Aplicar el metodo de las tablas semanticas para analizar la validez o no del siguiente razonamiento:

(∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ A(x, z))

(∀x)(∃y)P (y, x)

(∀x)(∃y)A(y, x)

7. Tras skolemizar, probar usando el metodo de las tablas semanticas para probar la satisfacibilidado no de los siguientes conjuntos de fbfs

Page 122: Logica Clasica de Predicados Computacional 2014 2015

114 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

a) (∀x)(∃y)(Q(y) ∨ ¬P (x, y)),¬(∃z)Q(z), (∀v)(∀u)(P (b, v) ∨ P (a, u)b) (∀x)(Q(f(x)) ∨ ¬P (x, f(x))), (∀z¬Q(z), (∀v)(∀u)(P (b, v) ∨ P (a, u)

8. Aplicar el metodo de las tablas semanticas para analizar la validez o no del razonamiento siguiente:

Todos los hombres son mamıferos.

Todos los mamıferos son vertebrados.

Todos los vertebrados son hombres.

9. Aplique el metodo de las tablas semanticas para analizar la validez del razonamiento siguiente:

El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lotanto todo el mundo tiene un abuelo.

10. Aplique el metodo de las tablas semanticas para analizar la validez o no del razonamiento siguiente:

Ningun vendedor de coches usados compra un coche usado para uso familiar.

Algunos de los que compran un coche usado para uso familiar son deshonestos.

Por lo tanto, algunas personas deshonestas no son vendedores de coches usados

11. Aplicar el metodo de las tablas semanticas para analizar la validez o no de los siguientes razona-mientos:

a) Todo estudiante es honesto, Juan no es honesto; por lo tanto Juan no es estudiante.

b) Todo atleta es fuerte, todo el que es fuerte e inteligente triunfara en su carrera, Pedro es unatleta, Pedro es inteligente; por lo tanto Pedro triunfara en su carrera.

c) Todo aquel que ama a alguien ama a Dios, no hay nadie que no ame a nadie; por lo tantotodo el mundo ama a Dios.

d) El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lo tantotodo el mundo tiene un abuelo.

12. Estudie la validez de la siguientes inferencias utilizando Tablas semanticas:

a)

(∀x)(C(x)→ (W (x) ∧R(x)))(∃x)(C(x) ∧O(x))(∃x)(O(x) ∧R(x))

b)

(∀y)(S(y)→ C(y))(∀x)((∃y)(S(y) ∧ V (x, y))→ (∃z)(C(z) ∧ V (x, z)))

c)

¬(∀x)(F (x)→ (∀y)(G(y)→ H(x)))(∃x)F (x) ∧ (∃x)¬(F (x) ∨G(x))(∀x)(F (x)→ H(x))

d)

(∀x)(G(x) ∨ (∃y)H(y))¬(∃x)G(x)¬(∃x)¬H(x)

e)

(∀x)(F (x)→ G(x))¬(∃x)(F (x) ∧G(x))¬(∃x)F (x)

f )

(∀x)(H(x)→ A(x))(∀x)((∃y)(H(y) ∧ T (x, y))→ (∃y)(A(y) ∧ T (x, y)))

Page 123: Logica Clasica de Predicados Computacional 2014 2015

4.3. EJERCICIOS 115

g)

(∃x)(F (x) ∧ ¬G(x))(∀x)(F (x)→ H(x))(∀x)(J(x) ∧ (K(x)→ F (x)))(∃x)(H(x) ∧ ¬G(x))→ (∀x)(K(x)→ ¬H(x))(∀x)(J(x)→ ¬K(x))

h)

F (a)(∀x)(F (x)→ G(x))↔ (∀x)((F (x) ∧G(x)) ∨ (¬F (x) ∧G(a)))

i)

(∀x)(∃y)P (x, y)(∀x)¬P (x, x)(∃x)(∃y)(∃z)¬((P (x, y) ∧ P (y, z))→ P (x, z))

j )

(∃x)(∀y)P (x, y)(∃x)(∃y)(P (x, y)→ Q(x, y))(∃x)(∀y)Q(x, y)

Page 124: Logica Clasica de Predicados Computacional 2014 2015

116 CAPITULO 4. METODO DE LAS TABLAS SEMANTICAS

Page 125: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 5

Metodo de Resolucion

Indice

5.1. Resolucion basica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.2. Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

5.2.1. El Algoritmo de Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . 125

5.3. Resolucion de Atomos no basicos . . . . . . . . . . . . . . . . . . . . . 127

5.3.1. Resolucion Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5.3.2. Resolucion Lineal Ordenada . . . . . . . . . . . . . . . . . . . . . . . . . 134

5.4. Clausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5.4.1. Programacion logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.4.2. Mınimo Modelo de Herbrand para un Programa logico . . . . . . . . . . 145

5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Como comentamos en el estudio de la logica proposicional, el sistema de demostracion automaticamas conocido y mas utilizado en los sistemas de programacion logica es, sin duda, el metodo de resolucionintroducido por Robinson. En este capıtulo presentamos la extension del metodo proposicional que, comovenimos reiterando, para la logica de primer orden es un semialgoritmo.

Como en el caso proposicional, la extension que vamos a definir,

para verificar la validez de una fbf, A, considera como entrada el conjunto de clausulas correspon-dientes a una forma clausal simultaneamente satisfacible con ¬A y determina si tal conjunto declausulas es o no insatisfacible;

para verificar la validez de una inferencia

H1

H2

...Hn

C

considera como entrada el conjunto de clausulas correspondientes a una forma clausal simultanea-mente satisfacible con H1 ∧ · · · ∧Hn ∧ ¬C, y determina si tal conjunto de clausulas es o no insa-tisfacible.

117

Page 126: Logica Clasica de Predicados Computacional 2014 2015

118 CAPITULO 5. METODO DE RESOLUCION

Tambien como en el caso proposicional, la base semantica del metodo de resolucion que vamos a definires el siguiente resultado: Dado un conjunto Ω de clausulas basicas, se tiene que:

Ω es insatisfacible si y solo si Ω |= 2

donde 2 representa la clausula vacıa (disyuncion vacıa de literales).

Destaquemos que:

no hemos puesto restriccion al cardinal de Ω, sobre el que sabemos que a lo sumo es infinitonumerable;

las clausulas basicas son afirmaciones del lenguaje natural del tipo contemplado en la logica clasicaproposicional

En definitiva, nuestro problema consiste en extender el metodo de Resolucion estudiado en la logicaclasica proposicional para que contemple la posibilidad de analizar la satisfacibilidad de un conjunto in-finito numerable de clausulas. Pero ¿que sentido tiene considerar |Ω| = ℵ0? ¿Tiene sentido considerar unrazonamiento con un conjunto infinito numerable de hipotesis? En efecto, solo vamos a contemplar razo-namientos en L1 con un numero finito de hipotesis, pero leamos con cuidado nuestra afirmacion anteriory destaquemos que hablamos de un conjunto infinito numerable de clausulas basicas y recordemosque

Un conjunto de clausulas, Ω ⊂ L1, es satisfacible si y solo si el conjunto Ωb

de sus instancias basicas es satisfacible

Recordemos tambien que, basta que en Ω intervenga un sımbolo de funcion para que Ωb sea

infinito numerable. Ası, para un Ω tan simple como Ω = P (f(x))), tenemos que

Ωb = P (a), P (f(a)), P (f2(a)), . . . P (fn(a)), . . .

En definitiva, no podemos olvidar que la forma clausal Ω = P (f(x))) representa la fbf (∀)P (f(x) y, engeneral,

Si C una clausula y x1, . . . , xn es el conjunto de variables que interviene en

C entonces: Una interpretacion M es un modelo para C si y solo si M es un

modelo para (∀x1) . . . (∀xn)C(x1, . . . , xn).

¿Disponemos de algun resultado especıfico sobre la satisfacibilidad de un conjunto infinito de clausulasbasicas? Afortunadamente sı: disponemos del teorema de Compacidad de Herbrand, que nos aseguraque: si Ω es un conjunto de clausulas y Ωb el conjunto de instancias basicas de Ω, entonces

Ωb es satisfacible si y solo si existe un subconjunto finito Ωb0 ⊆ Ωb que es

satisfacible.

Ası que podemos empezar planteandonos la primera extension obvia del metodo para analizar la satisfa-cibilidad de un conjunto de clausulas basicas.

5.1. Resolucion basica

Definicion 5.1 Dos clausulas basicas C1 y C2 se dicen resolubles respecto a un atomo A, si Aocurre en C1 y su opuesto ¬A ocurre en C2. Si C1 y C2 son resolubles respecto a A, llamamos resolvente

de C1 y C2 respecto de A , denotada RA(C1, C2), a la clausula

RA(C1, C2) = (C1 − A) ∨ (C2 − ¬A)

donde C1 − A y C1 − ¬A representan las clausulas obtenidas al eliminar A y ¬A en C1 y C2, respec-tivamente.

La regla de resolucion es la siguiente:

Page 127: Logica Clasica de Predicados Computacional 2014 2015

5.1. RESOLUCION BASICA 119

Si C1 y C2 son resolubles respecto a A entonces

C1C2

RA(C1, C2)

Ejemplo 5.1

1. RP (a)(¬P (a)∨Q(a, b)∨¬R(f(c)), P (a)∨Q(a, b)∨S(b, g(d, e))) = Q(a, b)∨¬R(f(c))∨S(b, g(d, e))

2. RQ(a,b)(¬P (a) ∨Q(a, b) ∨ ¬R(f(c)), P (a) ∨ ¬Q(a, b) ∨ S(b, g(d, e))) =

¬P (a) ∨ ¬R(f(c)) ∨ P (a) ∨ S(b, g(d, e))

3. RP (a)(P (a),¬P (a)) = 2

4. RR(f(c))(Q(a, b) ∨R(f(c)), ¬P (a) ∨ ¬R(f(c))) = Q(a, b) ∨ ¬P (a)

5. RP (a)(Q(a, b) ∨R(f(c)), ¬P (a) ∨ ¬R(f(c))) No existe

La justificacion semantica de la regla de resolucion para clausulas basicas es la misma que en el casoproposicional 1 y, como consecuencia trivial, se tiene el resultado siguiente.

Teorema 5.1 (Correccion del principio de resolucion) Dado un conjunto de clausulas basicas Ω,si C1, C2 ∈ Ω son resolubles entonces

Ω es satisfacible si y solo si Ω ∪ Rl(C1, C2) lo es.

Definicion 5.2 Dado un conjunto de Ω de clausulas basicas y una clausula basica C, se dice que C esdeducible por resolucion a partir de Ω, denotado Ω `R C, si existe una secuencia de clausulas basicasC1, C2, · · · , Cn tal que:

1. Cada Ci (1 ≤ i ≤ n) es o bien una clausula de Ω o bien una resolvente de dos clausulas anterioresen la secuencia.

2. Cn = C.

La secuencia Ci (1 ≤ i ≤ n) se dice que es una deduccion por resolucion de C a partir de Ω. Unadeduccion por resolucion de 2 a partir de Ω se le denomina una refutacion por resolucion de Ω.

Ejemplo 5.2 Demos una refutacion por resolucion del siguiente conjunto finito de clausulas basicas:

Ω = P (a) ∨Q(a, b),¬Q(a, b) ∨R(f(c)),¬P (a) ∨R(f(c)),¬R(f(c))

1. ¬P (a) ∨R(f(c)) de Ω

2. ¬R(f(c)) de Ω

3. ¬P (a) RR(f(c))(1, 2)

4. ¬Q(a, b) ∨R(f(c)) de Ω

5. ¬Q(a, b) RR(f(c))(2, 4)

6. P (a) ∨Q(a, b) de Ω

7. Q(a, b) RP (a)(3, 6)

8. 2 RQ(a,b)(5, 7)

1Basta advertir que dicha regla no es mas que la expresion en terminos de ¬ y ∨ de la ley del silogismohipotetico: Para cualesquiera tres fbfs basicas A,B y C

A ∨B,¬A ∨ C |= B ∨ C

Page 128: Logica Clasica de Predicados Computacional 2014 2015

120 CAPITULO 5. METODO DE RESOLUCION

El modo habitual de representar las deducciones por resolucion a partir de un conjunto Ω de clausulases mediante un arbol binario.

Definicion 5.3 Un arbol de resolucion para un conjunto de clausulas basicas Ω es un arbol caracte-rizado como sigue:

1. Cada nodo no hoja tiene dos descendientes inmediatos.

2. Cada nodo hoja esta etiquetado por una clausula de Ω.

3. Cada nodo no hoja esta etiquetado por una resolvente de las etiquetas de sus descendientes inme-diatos.

Por definicion, resulta obvio el siguiente resultado.

Teorema 5.2 Si C es la etiqueta de la raız de un arbol de resolucion para Ω, entonces Ω `R C.

Si C es 2, el arbol se dice que es un arbol de refutacion para Ω.

Ejemplo 5.3 A continuacion se presenta un arbol de refutacion para el conjunto finito de clausulasbasicas

Ω = P (a) ∨Q(a, b),¬Q(a, b) ∨R(f(c)),¬P (a) ∨R(f(c)),¬R(f(c))

@

@@@@@@@@@@@

@@@

@

@@

2

Q(a, b)

¬P (a) ¬Q(a, b)

P (a) ∨Q(a, b) ¬P (a) ∨R(f(c)) ¬R(f(c)) ¬Q(a, b) ∨R(f(c)) ¬R(f(c))

En general, para todo conjunto insatisfacible de clausulas, Ω, existen refutaciones distintas para Ω.El siguiente arbol muestra una nueva refutacion para el conjunto de clausulas del ejemplo anterior

@

@@@@@@@@@@@

¬P (a) ∨R(f(c)) ¬R(f(c)) P (a) ∨Q(a, b) ¬Q(a, b) ∨R(f(c)) ¬R(f(c))

¬P (a)

Q(a, b)

R(f(c))

2

Los ejemplos que hemos visto muestran la extension del metodo de resolucion para el caso de unconjunto finito de clausulas Ω y, como era de esperar, tal extension es inmediata ¿Pero como operar en

Page 129: Logica Clasica de Predicados Computacional 2014 2015

5.1. RESOLUCION BASICA 121

el caso de un conjunto infinito de clausulas Ω? Desearıamos disponer de herramientas que nos permitaneludir la ingente tarea de ir generando todos los subconjuntos finitos de Ωb. 2 Este fue el objetivo deRobinson al definir el metodo de resolucion para L1 y a describirlo dedicamos el resto del capıtulo.

Volvamos a nuestro problema, analizar la satisfacibilidad de un conjunto de clausulas en L1. Notendremos problema para asegurar que Ω1 = P (a), ¬P (a) es insatisfacible ¿Pero que decimos delconjunto Ω2 = P (x), ¬P (y)? Segun lo que venimos analizando, Ω2 es satisfacible si y solo si Ωb2 essatisfacible. Pero

Ωb2 = P (c),¬P (c), P (f(c)),¬P (f(c)), . . . P (fn(c)),¬P (fn(c)), . . .3

que es claramente insatisfacible.

Ejemplo 5.4 Consideremos el razonamiento

P (a)

(∀x)(P (x)→ P (f(x)))

(∀x)P (x)

Una forma clausal simultaneamente satisfacible con H1 ∧H2 ∧ ¬C es

Ω = P (a),¬P (x) ∨ P (f(x)),¬P (b)

y el conjunto de instancias basicas para Ω es

Ωb = P (a),¬P (b),¬P (fn(a) ∨ P (fn+1(a)),¬P (fn(b)) ∨ P (fn+1(b)) | n ∈ N∗

Si buscamos una refutacion por resolucion de Ωb, podemos proceder como sigue:

1. P (a) de Ωb

2. ¬P (b) de Ωb

3. ¬P (a) ∨ P (f(a)) de Ωb

4. P (f(a)) RP (a)(1, 3)

5. ¬P (f(a)) ∨ P (f2(a)) de Ωb

6. P (f2(a)) RP (f(a))(4, 5)

7. . . . . . .

. . .

Se puede generar la clausula P (fn(a)) para todo n ∈ N∗, pero ninguna otra clausula. Por tanto el conjuntode clausulas es satisfacible.

En el ejemplo anterior, la simplicidad de Ωb nos ha permitido concluir la satisfacibilidad pero, des-afortunadamente, no existe un metodo general y eficiente para generar todas las instancias basicas deun conjunto de clausulas de L1. Mas aun, para calibrar la complejidad del problema. Consideremos queel universo de Herbrand de un conjunto Ω de fbfs es HΩ = a, b, c, d, entonces, una clausula con dosvariables, por ejemplo C1 = P (x, y) o bien C2 = P (x, a) ∨ Q(y), tiene 16 instancias basicas posibles y,por ejemplo, si Ω consta de tres clausulas con dos variables, !Ω tiene 4.096 instancias basicas diferentes¡.Por esta razoon, como hemos indicado, la idea de Robinson consiste en trabajar directamente con lasclausulas sin tener que manejar explıcitamente las instancias basicas. Profundizamos ahora en esta idea:

2Recordemos que, puesto que |Ωb| = ℵ0, se tiene que 2Ωb = ℵ13donde c es la constante de Herbrand

Page 130: Logica Clasica de Predicados Computacional 2014 2015

122 CAPITULO 5. METODO DE RESOLUCION

Si Ω consta de un par de clausulas de L1, por ejemplo, Ω = P (x) ∨ Q(x), ¬P (f(y)) ∨ R(x, x), setiene que estas dos clausulas

C1 = P (x) ∨Q(x)

C2 = ¬P (f(y)) ∨R(x, z)

no son resolubles en el sentido anterior (no contiene un literal y su negado), pero si consideramos lassiguientes instancias basicas de C1 y C2:

Cb1 = P (f(a)) ∨Q(f(a))

Cb2 = ¬P (f(a)) ∨R(f(a), z)

estas sı son resolubles y nos proporcionan como resolvente la clausula Q(f(a))∨R(f(a), z). Por lo tanto,tendremos que modificar la definicion de clausulas resolubles de modo que podamos asegurar que dosclausulas C1 y C2 son resolubles si y solo si existe una clausula C ′1, instancia de C1, y una clausula C ′2,instancia de C2, tales que C ′1 y C ′2 son resolubles. La idea de Robinson de trabajar directamente conclausulas con variables requiere considerar un mecanismo, debido a Herbrand, llamado “unificacion”. Lossiguientes ejemplos nos ayudaran a comprender de que se trata.

En el ejemplo anterior, hemos usado instancias basicas C ′1 y C ′2. Ahora bien, puesto que al considerarinstancias de las clausulas se ha podido llegar a un par resoluble, serıa conveniente obtener la resolventemas general posible, ası podrıamos permitir que alguna de sus instancias se pueda resolver posteriormentecon alguna otra clausula de Ω. Un ligero analisis permite encontrar una sustitucion mas general, [x/f(y)],que tambien proporciona un par resoluble de clausulas C ′1 y C ′2:

C ′1 = P (f(y)) ∨Q(f(y))

C ′2 = ¬P (f(y)) ∨R(f(y), z)

obteniendose como resolvente la clausula Q(f(y)) ∨R(f(y), z)

Ejemplo 5.5 Si consideramos el conjunto de clausulas

Ω = P (x, a, y),¬P (f(u), v, w) ∨Q(v, g(a, x)),¬Q(z, g(a, f(b)))

las instancias obtenidas al realizar las sustituciones [x/f(b)], [y/a], [u/b], [v/a] y [w/a] se obtienen lasinstancias basicas Cb1, Cb2 y Cb3:

Cb1 = P (f(b), a, a)

Cb2 = ¬P (f(b), a, a) ∨Q(a, g(a, f(b))

Cb3 = ¬Q(z, g(a, f(b)))

En primer lugar, podemos ahora resolver Cb1 y Cb2 obteniendo Q(a, g(a, f(b))). Si ahora consideramosla instancia obtenida al realizar la sustitucion en la tercera clausula [z/a], es decir, ¬Q(a, g(a, f(b))) laresolvente de esta clausula con Q(a, g(a, f(b))) es la clausula vacıa.

En general, todas las instancias con las sustituciones [x/f(t1)], [y/t2], [u/t1], [v/a], [w/t2] y [z/a]donde t1, t2 ∈ HΩ nos permitirıan generar rapidamente la clausula vacıa.

En el desarrollo de los ejemplos anteriores se han usado explıcitamente dos conceptos de interes:“sustitucion” y “resolvente mas general”. Implıcitamente, se ha usado el concepto de unificacion debidoa Herbrand y que, como hemos indicado, es una herramienta fundamental en la extension del metodo deresolucion al caso general. Pasamos ya a introducir estos conceptos.

Page 131: Logica Clasica de Predicados Computacional 2014 2015

5.2. UNIFICACION 123

5.2. Unificacion

La unificacion ha adquirido mucha significacion en el contexto de las Ciencias de la Computaciondebido a su gran espectro de aplicaciones; entre estas encontramos el estudio de bases de datos, pro-cesamiento del lenguaje natural, sistemas expertos, lenguajes de manipulacion de textos, sistemas deplanificacion, sistemas de representacion del conocimiento, lenguajes de programacion logica, sistemas dereescritura y el algebra computacional.

Comenzamos introduciendo la nocion de sustitucion (finita),4 si no hay lugar a confusion simplementediremos sustitucion:

Definicion 5.4 Sea Term el conjunto de terminos de L1. Una sustitucion finita es una aplicacionθ : V → T erm que coincide con la aplicacion identidad salvo en un numero finito de variables, es decir,tal que θ(x) = x salvo para un numero finito de elementos x de V.

Si no hay lugar a confusion, nos referiremos a una sustitucion finita σ simplemente como sustitucion yla representaremos mediante el conjunto de variables xi tal que σ(xi) 6= xi:

θ = x1/t1, x2/t2, . . . , xn/tn

El conjunto de variables x1, . . . , xn se llama dominio de θ (y se denotara dom(θ)), mientras que elrango de θ (denotado ran(θ)) es el conjunto de variables que aparecen en los terminos ti.

Una sustitucion θ = v1/t1, . . . , vn/tn es basica si los terminos t1, . . . , tn son basicos.

Una sustitucion θ = x1/t1, . . . , xn/tn es de renombramiento si los terminos t1, . . . , tn son todossımbolos de variables.

Dada una sustitucion θ, la extendemos a Term del siguiente modo: θ(t) es el termino obtenido susti-tuyendo en t cada variable x por θ(x).

La aplicacion de la sustitucion θ a un termino t se denotara por θt, y el termino obtenido se dira quees una instancia de t. En particular, si θ es una sustitucion basica, diremos que θt es una instanciabasica de t.

Si θ1 y θ2 son dos sustituciones, la composicion de θ1 y θ2, se denotara como θ2 θ1. La operacion es asociativa y tiene como elemento unidad a la sustitucion vacıa ε.

Dadas dos sustituciones θ1 y θ2 definidas por

θ1 = x1/t1, x2/t2, . . . , xn/tnθ2 = y1/u1, y2/u2, . . . , yk/uk

la composicion θ2 θ1 viene dada por

x1/θ2(t1), . . . , xn/θ2(tn), yi1/θ2(yi1), . . . , yim/θ2(yim)

Ejemplo 5.6

1. Si θ1 = x/y y θ2 = y/a entonces θ2 θ1 = x/a, y/a.2. Si θ1 = y/f(x), z/b y θ2 = x/a entonces θ2 θ1 = x/a, y/f(a), z/b.3. Si θ1 = x/y, y/f(b), z/b y θ2 = y/x entonces θ2 θ1 = y/f(b), z/b.4. Si θ1 = x/y, y/f(b), z/b y θ2 = x/a entonces θ2 θ1 = x/y, y/f(b), z/b.4En la Seccion 1.1.5 se definio la sustitucion de las variables libres de una formula por un termino; lo que ahora

se define es otro tipo de sustitucion, dentro del contexto de unificacion.

Page 132: Logica Clasica de Predicados Computacional 2014 2015

124 CAPITULO 5. METODO DE RESOLUCION

La extension de una sustitucion finita al conjunto Atom de los atomos de L1 se realiza de formaobvia:

θP (t1, . . . , tn) = P (θt1, . . . , θtn) .

Ejemplo 5.7 Dados el atomo P (x, y, z, u) y las sustituciones

θ1 = x/f(y), y/a, z/v y θ2 = x/b, v/f(z), z/g(a)

se tiene:

1. θ1P (x, y, z, u)) = P (f(y), a, v, u)

2. θ2 θ1P (x, y, z, u) = θ2P (f(y), a, v, u)) = P (f(y), a, f(g(a)), u)

Definicion 5.5 Diremos que un conjunto de terminos t1, . . . , tn es unificable si existe una sus-titucion θ tal que θt1 = θt2 = . . . = θtn. Asimismo, diremos que un conjunto de atomos con elmismo predicado, P (t11, . . . , t

1n), . . . , P (tn1 , . . . , t

mn ), es unificable si existe una sustitucion θ tal que

θP (ti1, . . . , tin) = θP (tj1, . . . , t

jn) para cualesquiera i y j tales que i, j ∈ 1, . . . ,m. En ambos casos

diremos que θ es un unificador, del conjunto t1, . . . , tn en el caso de terminos, o del conjuntoP (t11, . . . , t

1n), . . . , P (tm1 , . . . , t

mn ) en el caso de unificacion de atomos.

Ejemplo 5.8

1. Los atomos P (f(x), a) y P (y, f(w)) no son unificables ya que y y f(x) son unificables pero a yf(w) no lo son.

2. Los atomos P (f(x), z) y P (y, a) son unificables y θ = x/a, y/f(a), z/a es un unificador. En efectoθ(P (f(x), z)) = θ(P (y, a)) = P (f(a), a)

Definicion 5.6 Dado un conjunto de terminos t1, . . . , tn, diremos que un unificador θ de t1, . . . , tnes de maxima generalidad (denotado umg) si para cualquier otro unificador σ de t1, . . . , tn se tieneque σ = λ θ para alguna sustitucion λ.

Intuitivamente, un unificador de maxima generalidad realiza el menor numero de sustituciones y lasmas generales posibles, es decir, mantiene el mayor numero posible de variables.

Ejemplo 5.9 Las sustituciones

θ1 = x/a, z/f(a, a), y/u, v/b y θ2 = v/b, y/u, z/f(a, x)

son unificadores del conjunto de terminos h(f(a, x), f(y, b)), h(z, f(u, v)). En efecto,

θ1(h(f(a, x), f(y, b))) = θ1(h(z, f(u, v))) = h(f(a, a), f(u, b)) y

θ2(h(f(a, x), f(y, b))) = θ2(h(z, f(u, v))) = h(f(a, x), f(u, b)).

ademas, θ2 es mas general que θ1 en el sentido de que θ1 = x/a θ2

No existe un unico unificador de maxima generalidad para dos terminos dados t y s; sin embargo,dos umgs para t y s son tales que uno de ellos se obtiene a partir del otro mediante la composicion conuna sustitucion de renombramiento:

Teorema 5.3 Si θ1 y θ2 son umgs para un conjunto de terminos T entonces, existen dos sustitucionesde renombramiento λ1 y λ2 tales que λ1 θ1 = θ2 y λ2 θ2 = θ1.

Page 133: Logica Clasica de Predicados Computacional 2014 2015

5.2. UNIFICACION 125

Demostracion: Por definicion de umg, existen dos sustituciones λ1 y λ2 tales que λ1 θ1 = θ2 yλ2 θ2 = θ1 de donde, en particular, tenemos θ1 = λ2 λ1 θ1.

Supongamos que λ1 realiza alguna sustitucion xi/ti donde ti no es una variable. En este caso, paraalgun t ∈ T , la longitud del termino λ1 θ1(t) sera estrictamente mayor que la de θ1(t) y, puesto queninguna sustitucion disminuye la longitud del termino a la que es aplicada, no podrıamos tener queθ1 = λ2 λ1 θ1. Por lo tanto, λ1 es una sustitucion de renombramiento. El razonamiento para λ2 es elmismo.

En la seccion siguiente presentamos el algoritmo de unificacion de Robinson que, dado un conjunto deatomos, determina si es o no unificable y, si lo es, proporciona un umg para tal conjunto. Damos ademasuna version del algoritmo para un conjunto de ecuaciones de terminos

5.2.1. El Algoritmo de Unificacion

Antes de presentar el algoritmo necesitamos algunas definiciones previas.

Definicion 5.7 El conjunto de discrepancias de un conjunto no vacıo de terminos T , denotadoDis(T ), (o de un conjunto no vacıo A de atomos con el mismo predicado, denotado Dis(A)) se obtienelocalizando la posicion del primer sımbolo (de izquierda a derecha) en el cual no todos los terminos(atomos) coinciden, y extrayendo de cada termino de T (de cada atomo de A) el subtermino que comienzaen esa posicion. El conjunto de estos subterminos es el conjunto de discrepancias de T (de A).

Ejemplo 5.10

Dis(P (f(x), h(y), a), P (f(x), z, a), P (f(x), h(y), b)) = h(y), z.Dis(P (x, f(y, z)), P (x, g(h(k(x)))) = f(y, z), g(h(k(x)))

5.2.1.1. Algoritmo de unificacion

Paso 1 Sea k = 0, Tk = σkT y σk = ε.

Paso 2 Si Tk es unitario, detener el algoritmo con la salida: “σk es el unificador mas general para T”.En otro caso, hallar el conjunto de discrepancias, Disk, de Tk.

Paso 3 Si existen terminos xk y tk en Disk tales que xk es una variable que no ocurre en tk, ir al paso4. En otro caso, detener el algoritmo con la salida: T no es unificable.

Paso 4 Sea σk+1 = (xk/tk) σk y sea Tk+1 = (xk/tk)Tk.

Paso 5 Hacer k = k + 1 y volver al paso 2.

Para cualquier conjunto finito no vacıo de terminos (de atomos), este algoritmo siempre termina. Enefecto, en caso contrario, se generarıa una secuencia infinita σ0T, σ1T, . . . de conjuntos finitos y no vacıoscon la propiedad de que cada uno de ellos tiene una variable menos que el anterior (es decir, σkT contienexk pero σk+1T no), lo cual es imposible porque T (respectivamente A) solo puede contener un numerofinito de variables.eer r

El algoritmo anterior es no determinista ya que en el paso (3) pueden existir varias eleccionesde xk y tk. Tiene un paso sumamente ineficiente, la verificacion sistematica de la no ocurrenciade una variable en un termino (en la bibliografıa inglesa: occurs check).

En las implementaciones del algoritmo para sistemas de programacion logica, esta com-probacion simplemente se omite, aun a riesgo de perder la correccion del algoritmo y, enconsecuencia, con la posibilidad de obtener un resultado erroneo.

Page 134: Logica Clasica de Predicados Computacional 2014 2015

126 CAPITULO 5. METODO DE RESOLUCION

Teorema 5.4 (de unificacion) Si T es un conjunto no vacıo y unificable de terminos, entonces elalgoritmo de unificacion siempre termina en una aplicacion del paso 2 y la sustitucion σk es un umg paraT . ademas, σk es tal que, para cualquier otro unificador θ de T se tiene que θ = θ σk y por lo tanto, elalgoritmo nos proporciona un umg idempotente.

Demostracion: Si T es unificable, y el algoritmo termina con la salida: “σk es el unificador mas generalpara T”, es evidente que σk es un unificador; nos falta probar que σk es un umg, es decir, que paracualquier otro unificador θ existe una sustitucion λ tal que θ = λ σk.

Sea θ un unificador para T . Demostremos por induccion que para cada k natural θ = θ σk:

- Para k = 0 se tiene que σ0 = ε. Por lo tanto, tenemos θ = θ ε.- Supongamos ahora que θ = θ σk y consideremos la sustitucion xk/tk. Bastara probar queθ xk/tk = θ. Para ello es suficiente que coincidan en todo sımbolo de variable:

Si x 6= xk, entonces es claro que xk/tkx = x y por lo tanto θ xk/tk(x) = θ(x)

Para x = xk, se tiene xk/tkx = tk y por lo tanto θ xk/tk(xk) = θ(tk). Ahora bien,puesto que θ es un unificador de T y xk y tk estan en Disk(Tk), ha de ser θ(xk) = tk y porlo tanto, θ(tk) = θ(xk) y tambien en este caso θ xk/tk(xk) = θ(xk).

Ejemplo 5.11 Para los atomos P (a, x, f(g(y))) y P (z, f(z), f(u)) la ejecucion es como sigue:

k = 0; σ0 = ε; D0 = Dis(P (a, x, f(g(y))), P (z, f(z), f(u))) = a, zσ1 = z/a.

σ1(P (a, x, f(g(y)))) = P (a, x, f(g(y)))

σ1(P (z, f(z), f(u))) = P (a, f(a), f(u))

D1 = Dis(P (a, x, f(g(y))), P (a, f(a), f(u))) = x, f(a)σ2 = x/f(a) z/a = z/a, x/f(a).

σ2(P (a, x, f(g(y)))) = P (a, f(a), f(g(y)))

σ2P (a, f(a), f(u))) = P (a, f(a), f(u))

D2 = Dis(P (a, f(a), f(g(y))), P (a, f(a), f(u))) = g(y), uσ3 = u/g(y) z/a, x/f(a) = z/a, x/f(a), u/g(y).

σ3(P (a, x, f(g(y)))) = P (a, f(a), f(g(y)))

σ3(P (a, f(a), f(u))) = P (a, f(a), f(g(y)))

D3 = Dis(P (a, f(a), f(g(y))), P (a, f(a), f(g(y)))) = ∅

“σ3 es un umg”

Ejemplo 5.12 Para los atomos Q(f(a), g(x)) y Q(y, y) la ejecucion es como sigue:

k = 0; σ0 = ε; D0 = Dis(Q(f(a), g(x)), Q(y, y)) = f(a), yσ1 = y/f(a).

σ1(Q(f(a), g(x))) = Q(f(a), g(x))

Page 135: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 127

σ1(Q(y, y)) = Q(f(a), f(a))

D1 = Dis(Q(f(a), g(x)), Q(f(a), f(a))) = g(x), f(a)

“No son unificables”

Ejemplo 5.13 Para los atomos P (a, x, h(g(z))) y P (z, h(y), h(y)) la ejecucion es como sigue:

k = 0; σ0 = ε; D0 = Dis(P (a, x, h(g(z))), P (z, h(y), h(y))) = a, zσ1 = z/a.

σ1(P (a, x, h(g(z)))) = P (a, x, h(g(a)))

σ1(P (z, h(y), h(y))) = P (z, h(y), h(y))

D1 = x, h(y)σ2 = x/h(y) z/a = z/a, x/h(y).

σ2(P (a, x, h(g(a)))) = P (a, h(y), h(g(a)))

σ2(P (z, h(y), h(y))) = P (a, h(y), h(y))

D2 = g(a), yσ3 = y/g(a) z/a, x/h(y) = z/a, x/h(g(a)), y/g(a).

σ3(P (a, h(y), h(g(a)))) = P (a, h(g(a)), h(g(a)))

σ3(P (a, h(y), h(y))) = P (a, h(g(a)), h(g(a)))

D3 = ∅

“σ3 es un umg”

El concepto de unificacion puede verse como el analogo a la resolucion de ecuaciones en una teorıaalgebraica, algo tan antiguo como la misma Matematica; en definitiva, la teorıa de la unificacion no es masque la extension de este estudio a un contexto mas abstracto. Por esta razon, incluimos en esta seccion unasegunda version del algoritmo de unificacion que, dado un conjunto de ecuaciones de terminos, determinasi es o no unificable y, si lo es, proporciona un umg para tal conjunto.

5.3. Resolucion de Atomos no basicos

Una vez conocido el algoritmo de unificacion, podemos considerar la extension del principio de resolu-cion para la logica de primer orden. En la definicion del principio de resolucion para fbfs de L1, usaremosel unificador mas general proporcionado por el algoritmo de unificacion.

Definicion 5.8 Sean C1 y C2 dos clausulas sin variables en comun, y sean A ∈ C1 y B ∈ C2 talesque A unifica con ¬B con umg σ. En tal caso se dice que C1 y C2 es un par resoluble y se define laresolvente binaria de C1 y C2 respecto a A mediante σ a la clausula C definida como sigue

C = (σC1 − σA) ∪ (σC2 − σB)

Del mismo modo que en el caso basico, las clausulas C1 y C2 se denominan clausulas paternas de C.

Es preciso destacar que en la definicion de resolvente, es posible resolver varios literales a la vez. Estacaracterıstica del metodo para la logica de primer orden se conoce con el nombre de factorizacion.Consideremos, por ejemplo, el conjunto de clausulas Ω = P (x) ∨ P (y),¬P (x) ∨ ¬P (y). Este conjuntoes insatisfacible. En efecto,

Page 136: Logica Clasica de Predicados Computacional 2014 2015

128 CAPITULO 5. METODO DE RESOLUCION

(∀x)(∀y)[(P (x) ∨ P (y)) ∧ (¬P (x) ∨ ¬P (y))] ≡(∀x)(∀y)(P (x) ∨ P (y)) ∧ (∀x)(∀y)(¬P (x) ∨ ¬P (y)) ≡((∀x)P (x) ∨ (∀y)P (y)) ∧ ((∀x)¬P (x) ∨ (∀y)¬P (y)) ≡ ⊥

Sin embargo, ninguna demostracion por resolucion que elimina unicamente un literal cada vez puedeproducir 2. Este hecho motiva la definicion siguiente.

Definicion 5.9 Si dos o mas literales (con el mismo signo) de una clausula C son unificables con umgσ entonces σC se dice que es un factor de C.

Definicion 5.10 Una resolvente para las clausulas C1 y C2 es una de las siguientes resolventesbinarias:

1. Una resolvente binaria de C1 y C2.

2. Una resolvente binaria de C1 y un factor de C2.

3. Una resolvente binaria de un factor de C1 y C2.

4. Una resolvente binaria de un factor de C1 y un factor de C2.

Ejemplo 5.14 Si consideramos la clausula C = P (x, t) ∨ P (y, x) ∨ Q(a), el umg σ = y/x, t/x nosproporciona el factor de C

σ(C) = P (x, x) ∨Q(a)

Ejemplo 5.15Si consideramos la clausula C = P (x) ∨ Q(x) ∨ P (a), el umg σ = x/a nos proporciona el factor

de CP (a) ∨Q(a)

Ejemplo 5.16 Podemos resolver las clausulas

C1 = Q(x) ∨ ¬R(x) ∨ P (x, y) ∨ P (f(z), f(z)) y

C2 = ¬S(u) ∨ ¬R(w) ∨ ¬P (f(a), f(a)) ∨ ¬P (f(w), f(w))

considerando como umg para el conjunto de atomos

P (x, y), P (f(z), f(z)), P (f(a), f(a)), P (f(w), f(w))

es θ = x/f(a), y/f(a), z/a, w/a. Hallamos la resolvente mediante θ y obtenemos la clausula

Q(f(a)) ∨ ¬R(f(a)) ∨ ¬S(u) ∨ ¬R(a)

Definicion 5.11 Dados un conjunto Ω de clausulas y una clausula C de L1, se dice que C es deducible

por resolucion a partir de Ω, denotado Ω `R C, si existe una secuencia de clausulas C1, C2, · · · , Cn talque:

1. Cada Ci (1 ≤ i ≤ n) es o bien una clausula de Ω o bien una resolvente de dos clausulas anterioresen la secuencia.

2. Cn = C.

La secuencia Ci (1 ≤ i ≤ n) se dice que es una deduccion por resolucion de C a partir de Ω.Una deduccion por resolucion de 2 a partir de Ω se dice una refutacion por resolucion de Ω.

Page 137: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 129

eer rVeamos que la exigencia de que C1 y C2 no tengan variables en comun es ne-cesaria. Consideremos, por ejemplo, el conjunto de clausulas P (f(x)),¬P (x). Puestoque este conjunto representa a la fbf (∀x)P (f(x)) ∧ (∀x)¬P (x), se trata de un conjuntode clausulas insatisfacible; sin embargo, P (f(x)) y P (x) no son unificables, porque no po-demos hacer la sustitucion x/f(x); esto se resuelve renombrando las variables para obtener(∀x)P (f(x)) ∧ (∀y)¬P (y), es decir, el conjunto de clausulas P (f(x)),¬P (y), cuyo umg esy/f(x). Veamos otro ejemplo.

Ejemplo 5.17 Una refutacion para el conjunto de clausulas

Ω = P (x, a, y),¬P (f(u), v, w) ∨Q(v, g(a, x)),¬Q(z, g(a, f(t)))

es la siguiente secuencia

1. P (x, a, y) de Ω.

2. ¬P (f(u), y, w) ∨Q(v, g(a, x)) de Ω.

3. ¬Q(z, g(a, f(t))) de Ω.

4. Q(v, g(a, f(u))) de 1. y 2. (con umg σ = x/f(u), y/a, w/a)

5. 2 de 3. y 4. (con umg σ = z/v, t/u)

En el ejemplo anterior no ha sido preciso renombrar variables. Sin embargo, como nos muestra elsiguiente ejemplo, puede suceder que este renombramiento sea necesario.

Ejemplo 5.18 Consideremos el conjunto de clausulas

Ω = P (x, a, y),¬P (f(x), v, w) ∨Q(v, g(a, x)),¬Q(z, g(a, f(t)))

En este caso, P (x, a, y) y ¬P (f(x), v, w) ∨Q(v, g(a, x)) no son unificables ya que x ocurre en f(x).

Evitaremos esta situacion renombrando x en la segunda clausula, por ejemplo por u. De esta forma,obtenemos el conjunto de clausulas del ejemplo 5.17 para el que, como hemos visto, no existe ningunproblema.

Nuestro proposito es demostrar ahora que el principio de resolucion con unificacion es completo; estoes, que un conjunto de clausulas S es insatisfacible si y solo si la clausula vacıa es deducible usando laregla de resolucion. Para ello necesitaremos el siguiente lema, que permitira tomar como punto de partidauna refutacion por resolucion basica y contemplar su extension a una resolucion general.

Lema 5.1 (de extension) Si C ′1 y C ′2 son instancias de C1 y C2 respectivamente, y si C ′ es unaresolvente de C ′1 y C ′2 entonces existe una resolvente C de C1 y C2 tal que C ′ es una instancia de C.

Demostracion: Renombremos, si es necesario, las variables de modo que C1 y C2 tengan variablesdistintas. Sean L′1 y L′2 los literales sobre los que se resuelve C ′1 y C ′2, y sea

C ′ = (γC ′1 − γL′1) ∪ (γC ′2 − γL′2)

donde γ es un umg de L1 y L2. Puesto que las clausulas C ′i son instancias de las clausulas Ci, existeuna sustitucion θ tal que C ′i = θCi. Sean Li

1, . . . , Liri los literales de Ci que corresponden a Li, es decir,

aquellos que θLi1 = · · · = θLi

ri = L′i. Si ri > 1 obtengamos un umg λi para el conjunto Li1, . . . , Liriy sea Li = λiLi

1. En tal caso Li es un literal del factor λiCi de Ci. Si ri = 1 sea entonces λi = id y

Page 138: Logica Clasica de Predicados Computacional 2014 2015

130 CAPITULO 5. METODO DE RESOLUCION

Li = Li1. Sea λ = λ1 ∪ λ2. Con esta definicion de Li tenemos que L′i es una instancia de Li; puesto que

L′1 y L′2 son unificables tambien tenemos que L1 y L2 son unificables. Sea σ un umg de L1 y L2:

C = (σ(λC1)− σL1) ∪ (σ(λC2)− σL2)

= (σ(λC1)− σ(λL11, . . . , L1

r1)) ∪ (σ(λC2)− σ(λL21, . . . , L2

r2))= ((σ λ)C1 − (σ λ)L1

1, . . . , L1r1) ∪ ((σ λ)C2 − (σ λ)L2

1, . . . , L2r2)

C es una resolvente de C1 y C2; ademas, es claro que C ′ es una instancia de C, puesto que

C ′ = (γC ′1)− γL′1) ∪ (γC ′2)− γL′2)

= (γ(θC1)− γ(θL11, . . . , L1

r1)) ∪ (γ(θC2)− γ(θL21, . . . , L2

r2))= ((γ θ)C1 − (γ θ)L1

1, . . . , L1r1) ∪ ((γ θ)C2 − (γ θ)L2

1, . . . , L2r2)

y σ λ es mas general que γ θ.

Teorema 5.5 (Completitud del principio de resolucion) Un conjunto de clausulas S es insatisfa-cible si y solo si la clausula vacıa 2 es deducible por resolucion a partir del conjunto S.

Demostracion: Supongamos que S es insatisfacible. Sea A = A1, A2, . . . , el conjunto de atomos(basicos) de S. Sea T un arbol semantico completo para A. Por el teorema de Herbrand, T tiene un arbolsemantico cerrado y finito T ′.

Si T ′ solo consta del nodo raız entonces 2 debe estar en S, pues ninguna otra clausula se puede hacerfalsa en la raız de un arbol semantico. En este caso, el teorema es obviamente cierto.

Si T ′ tiene mas de un nodo entonces debe tener al menos un nodo inferencia: si esto no ocurre entoncestodo nodo tendrıa al menos un descendente que no es nodo fallo y tendrıamos una rama infinita en T ′, loque no puede ser puesto que T ′ es finito. Sea N un nodo inferencia en T ′ y sean N1 y N2 sus descendientes(que son nodos fallo), sea tambien

I(N) = m1,m2, . . . ,mnI(N1) = m1,m2, . . . ,mn,mn+1I(N2) = m1,m2, . . . ,mn,¬mn+1

Puesto que N1 y N2 son nodos fallo pero N no lo es, deben existir dos instancias basicas C ′1 y C ′2 delas clausulas C1 y C2 tales que C ′1 y C ′2 son falsas en I(N1) e I(N2) respectivamente, pero no en I(N).Por lo tanto, C ′1 debe contener a ¬mn+1 y C ′2 debe contener a mn+1. Sea L′1 = ¬mn+1 y L′2 = mn+1;resolviendo respecto de los literales L′1 y L′2 obtenemos la resolvente

C ′ = (C ′1 − L′1) ∪ (C ′2 − L′2)

Ahora C ′ debe ser falsa en I(N) puesto que tanto (C ′1 − L′1) como (C ′2 − L′2) son falsas en I(N). Por ellema de extension, existe una resolvente C de C1 y C2 tal que C ′ es una instancia basica de C. Sea T ′′

el arbol semantico cerrado para (S ∪ C), obtenido de T ′ eliminando toda la parte que existe bajo elprimer nodo en el que la resolvente C ′ es falsificada. Claramente, el numero de nodos de T ′′ es menorque el de T ′. Aplicando este mismo proceso a T ′′ podemos obtener otra resolvente de las clausulas de(S∪C) que, anadida a (S∪C) nos permite encontrar un arbol todavıa mas pequeno. Este proceso seaplica tantas veces como sea necesario hasta obtener un arbol que solo tenga el nodo raız. Esto es posiblesolo cuando 2 es deducible, por lo tanto existe una deduccion de 2 a partir de S.

Para la demostracion del recıproco supongamos que existe una deduccion de 2 a partir de S. SeanR1, R2, . . . , Rk las resolventes de tal deduccion. Supongamos que S es satisfacible, entonces existe unmodelo M de S. Sin embargo, si un modelo satisface las clausulas resolubles C1 y C2 tambien satisface

Page 139: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 131

a su resolvente; por lo tanto M satisface a R1, R2, . . . , Rk, lo cual es imposible puesto que una de estasclausulas es 2. Por lo tanto S es insatisfacible.

Ejemplo 5.19 Apliquemos el metodo al conjunto de clausulas

Ω = P (x) ∨Q(x) ∨R(x, f(x)),¬P (z) ∨Q(z) ∨ S(f(z)), T (a), P (a),

¬R(a, y) ∨ T (y),¬T (u) ∨ ¬Q(u),¬T (w) ∨ ¬S(w)

1. P (x) ∨Q(x) ∨R(x, f(x)) de Ω.

2. ¬P (z) ∨Q(z) ∨ S(f(z)) de Ω.

3. T (a) de Ω.

4. P (a) de Ω.

5. ¬R(a, y) ∨ T (y) de Ω.

6. ¬T (u) ∨ ¬Q(u) de Ω.

7. ¬T (w) ∨ ¬S(w) de Ω.

8. ¬Q(a) de 3 y 6 (con umg σ = u/a).9. Q(a) ∨ S(f(a)) de 2 y 4 (con umg σ = z/a).

10. S(f(a)) de 8 y 9.

11. Q(a) ∨R(a, f(a)) de 1 y 4 (con umg σ = x/a).12. R(a, f(a)) de 8 y 11.

13. T (f(a)) de 5 y 12 (con umg σ = y/f(a).14. ¬S(f(a)) de 7 y 13 (con umg σ = w/f(a)15. 2 10 y 14.

Ejemplo 5.20 Consideremos el razonamiento

(∀x)(C(x)→ (W (x) ∧R(x))

)(∃x)(C(x) ∧Q(x))(∃x)(Q(x) ∧R(x))

Una forma clausal para Ω es:

Ω = ¬C(x) ∨W (x),¬C(y) ∨R(y),¬Q(z) ∨ ¬R(z), C(a), Q(a)

y una refutacion para Ω es la siguiente secuencia

1. ¬C(x) ∨W (x) de Ω.

2. ¬C(y) ∨R(y) de Ω.

3. ¬Q(z) ∨ ¬R(z) de Ω.

4. C(a) de Ω.

5. Q(a) de Ω.

6. R(a) de 2. y 4. (con umg σ = y/a).7. ¬Q(a) de 3. y 6. (con umg σ = z/a).8. 2 de 5. y 7.

Page 140: Logica Clasica de Predicados Computacional 2014 2015

132 CAPITULO 5. METODO DE RESOLUCION

En los ejemplos anteriores la busqueda de una refutacion se ha realizado de modo arbitrario, sinembargo, es obvio es necesario una sistematizacion para esta busqueda. El modo mas simple (conceptual-mente hablando) de sistematizar la busqueda de una refutacion o bien la de asegurar que no existe, sebasa en la generacion sucesiva de todas las posibles resolventes a partir del conjunto Ω de partida. masprecisamente:

Dado un conjunto de clausulas Ω, denotamos por R(Ω) la union de Ω y el conjunto de todas lasresolventes de clausulas de Ω (resolventes obtenidas utilizando solo clausulas de Ω). Para todo n ∈ N,definimos Rn(Ω) como sigue:

R0(Ω) = Ω

Rn+1(Ω) = R(Rn(Ω))

Por definicion, es claro que Rn(Ω) ⊆ Rn+1(Ω).

El metodo propuesto construye sucesivamente R1(Ω),R2(Ω) . . . Si existe un k ∈ N tal que 2 ∈ Rk(Ω)entonces, Ω es insatisfacible. En caso contrario, Ω es satisfacible.

Este algoritmo, denominado resolucion por saturacion es, obviamente, completo en el sentido deque siempre que el conjunto de clausulas sea insatisfacible se va a generar la clausula vacıa. Su nombrese debe a que, para todo n se va generando todas las posibles resolventes del conjunto Rn(Ω), es decir,el conjunto Rn(Ω) se “satura por resolucion”.

Es evidente que el proceso de saturacion va a generar multitud de clausulas innecesarias para laobtencion de la clausula vacıa, por lo que el proceso se puede y se debe depurar.

El siguiente ejemplo muestra una aplicacion del metodo de saturacion con una primera estrategia dedepuracion.

Ejemplo 5.21 Comprobamos que el conjunto de clausulas Ω = P (x) ∨ Q(x), P (x) ∨ R(x),¬Q(x) ∨¬R(x),¬P (x) es insatisfacible, usando el metodo de resolucion por saturacion:

1. P (x) ∨Q(x)

2. P (x) ∨R(x)

3. ¬Q(x) ∨ ¬R(x)

4. ¬P (x)

5. P (x) ∨ ¬R(x) (por 1 y 3)

6. Q(x) (por 1 y 4)

7. P (x) ∨ ¬Q(x) (por 2 y 3)

8. R(x) (por 2 y 4)

R(Ω) = Ω ∪ P (x) ∨ ¬R(x), Q(x), P (x) ∨ ¬Q(x), R(x)

9. P (x) (por 1 y 7)

10.— P (x) (por 2 y 5)

10. ¬R(x) (por 3 y 6)

11. ¬Q(x) (por 3 y 8)

12.— ¬R(x) (por 4 y 5)

12.— ¬Q(x) (por 4 y 7)

12.— P (x) (por 5 y 8)

12.— P (x) (por 6 y 7)

R2(Ω) = R(Ω) ∪ P (x),¬R(x),¬Q(x)

Page 141: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 133

12.— P (x) (por 1 y 11)

12.— P (x) (por 2 y 10)

12. 2 (por 4 y 9)

Las lıneas tachadas indican que las resolventes generadas se eliminan por estar ya en la secuencia.

Una primera estrategia consiste en la no inclusion de las resolventes que ya estan en Si. Esto conllevaun menor gasto en la generacion de cada nivel pero, en cualquier caso, el tiempo gastado al calcular lasresolventes que despues se van a eliminar no es recuperable.

Como en el caso proposicional, existen otros refinamientos mucho mas depurados del metodo deresolucion que se presentan en la siguiente seccion.

5.3.1. Resolucion Lineal

Presentamos a continuacion el refinamiento conocido como resolucion lineal propuesto independien-temente por Loveland 5 y Luckham 6, y como caso particular, la mejora de este refinamiento, debida aKowalski y Kuenner, 7 llamado resolucion lineal ordenada.

La idea principal para disminuir el tamano del espacio de busqueda es reducir el numero de posiblesresolventes que se pueden obtener. Para ello se limita el conjunto de clausulas que pueden ser utilizadaspara generar nuevos resolventes a partir de una clausula.

El nombre de resolucion lineal se debe a que las deducciones se construyen como un tipo de razo-namiento en cadena, es decir, para generar 2 se comienza con una clausula, se resuelve esta con otraclausula y la resolvente obtenida con otra clausula y ası sucesivamente. Este razonamiento en cadena essimilar al que se realiza en matematicas para demostrar una igualdad: comenzamos con el miembro dela izquierda de la igualdad y se aplica alguna propiedad para obtener una expresion equivalente, estatransformacion se realiza repetidamente hasta que, finalmente, llegamos a la expresion del miembro dela derecha de la igualdad.

Definicion 5.12 Sea Ω un conjunto de clausulas y C0 ∈ Ω. Una deduccion lineal de una clausula C apartir de Ω con cabeza C0, es una secuencia de clausulas del tipo

C0,B0, C1,B1, . . . , Cn−1,Bn−1, Cn

tal que

1. C0 ∈ Ω.

2. Para todo i = 1, . . . , n− 1, Ci es una resolvente de Ci−1 y Bi−1.

3. Para todo i = 1, 2, . . . , n, Bi ∈ Ω o Bi = Cj para algun j con j < i.

4. Cn = C.

El modo habitual de representar este tipo de deducciones es mediante un arbol binario, llamado arbol

de resolucion lineal, de la forma

5D. Loveland. A linear format for resolution. In Proc. IRIA Symposium on Automatic Demostration, 1970.6D. Luckham. Refinements in resolution theory. In Proc. IRIA Symposium on Automatic Demostration, 1970.7R. Kowalski and D. Kuhner. Search strategies for theorem-proving. Machine Intelligence, 5, 1970.

Page 142: Logica Clasica de Predicados Computacional 2014 2015

134 CAPITULO 5. METODO DE RESOLUCION

Bn−2

...

C

C0

Cn−1

C2

C1

Bn−1

B1

B0

Las clausulas Ci se denominan clausulas centrales y las Bi clausulas laterales. Si C = 2, el arbol sedenomina un arbol de refutacion lineal para Ω con cabeza C0.

Ejemplo 5.22 Un arbol de refutacion lineal para Ω = P ∨Q,¬P ∨Q,¬Q∨¬R,¬Q∨R (donde P , Qy R son atomos de L1) con cabeza P ∨Q es,

2

P ∨Q

¬Q

R

Q

Q

¬Q ∨ ¬R

¬Q ∨R

¬P ∨Q

Las clausulas laterales son ¬P ∨Q, ¬Q ∨R, ¬Q ∨ ¬R de Ω y Q. Esta es, ademas, una clausula central.

El metodo de resolucion lineal es correcto y completo, es decir, un conjunto de clausulas Ω es insatisfaciblesi y solo si existe una refutacion lineal para Ω 8

En la practica etiquetamos los arcos no solo con la clausula lateral sino tambien explicitando el umgutilizado para obtener la siguiente clausula central.

5.3.2. Resolucion Lineal Ordenada

Este tipo de resolucion constituye una mejora de la resolucion lineal. Dos son las ideas basicas en lasque se apoya este metodo:

8Para la demostracion de este resultado puede consultarse:C.-L. Chang and R. C.-T. Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.

Page 143: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 135

Considera las clausulas como secuencia de literales en lugar de como conjunto de literales, llamando-las clausulas ordenadas.

La introduccion de la ordenacion de las literales aumenta, como veremos, la eficiencia de la resolu-cion lineal de manera considerable.

Guarda la informacion del literal respecto del que se resuelve.

En resolucion lineal, al resolver respecto de un literal, este simplemente se elimina; cuando, enrealidad, la informacion que aporta el literal eliminado es sumamente util.

En el proceso de construir resolventes, la resolucion lineal ordenada introduce las siguientes conside-raciones:

1. solo permite resolver dos clausulas ordenadas C1 y C2 respecto al ultimo literal de C1.

2. guarda la informacion del literal resuelto, manteniendolo encuadrado en la resolvente.

3. en toda resolvente, se elimina todo literal encuadrado que no va seguido de algun literal no encua-drado.

eer rLos literales encuadrados se mantienen en las formulas simplemente como etiquetas infor-mativas acerca de las literales respecto de las que ya se ha resuelto, pero no participan en laresolucion.

Ejemplo 5.23 Presentamos tres ejemplos de resolucion lineal ordenada de dos clausulas dadas:

1. La resolvente de P ∨ ¬Q ∨R y P ∨ ¬R ∨ T es P ∨ ¬Q ∨ R ∨ T .

2. La resolvente de P ∨¬Q∨R y P ∨¬R es P ∨¬Q, obtenida mediante las siguientes simplificaciones:

a) El resultado serıa P ∨ ¬Q ∨ R ∨ P , pero al estar P repetida se mantiene solo la ocurrenciamas a la izquierda.

b) Ahora tendrıa mos P ∨¬Q∨ R , donde se elimina el literal encuadrado por no tener ningunliteral sin encuadrar a su derecha.

3. La resolvente de P ∨ ¬Q ∨R y Q ∨ ¬R es P ∨ ¬Q ∨ R ∨Q.

Con relacion a la resolucion lineal, la resolucion lineal ordenada no solo reduce el numero de resol-ventes por considerar debido al hecho de resolver unicamente respecto del ultimo literal, sino que ademasincorpora una nueva estrategia de eficiencia considerando un determinado tipo de clausulas respecto delas cuales solo se requiere resolver con clausulas centrales.

Definicion 5.13 Una clausula ordenada se denomina clausula ordenada reducible si su ultimoliteral es el opuesto de algun literal enmarcado de dicha clausula. Si C es una clausula ordenada reducible,la clausula ordenada obtenida al eliminar el ultimo literal de C se denomina clausula reducida de C.

Si la clausula Ci por resolver es reducible, se puede demostrar que solo sera necesario resolver conclausulas centrales y existe una clausula central Cj tal que R(Ci, Cj) es la reducida de Ci.

Disponemos ya de los elementos necesarios para definir la deduccion en la resolucion lineal ordenada.

Definicion 5.14 Sea Ω un conjunto de clausulas ordenadas y C0 ∈ Ω. Una deduccion lineal ordenada

de una clausula C a partir de Ω con cabeza C0 es una secuencia de clausulas ordenadas

C0,B0, C1,B1, . . . , Cn−1,Bn−1, Cn

tal que

1. Para todo i = 0, 1, 2, . . . , n− 1, Bi ∈ Ω o Bi = Cj para algun j con j < i.

Page 144: Logica Clasica de Predicados Computacional 2014 2015

136 CAPITULO 5. METODO DE RESOLUCION

2. Para todo i = 2, . . . , n, si Ci−1 es reducible, entonces Ci es la reducida de Ci−1 y en caso contrario,Ci es la resolvente ordenada de Ci−1 y Bi con Bi ∈ Ω.

3. Cn = C.

Como en el caso de la resolucion lineal, la secuencia de clausulas ordenadas

C0,B0, C1,B1, . . . , Cn−1,Bn−1, Cn

se representa

C

Cn−1 Bn−1

C2 Bn−2...

C1 B1

C0 B0

En el caso en que C = 2, este arbol se dice que es un arbol de refutacion lineal ordenada para Ω.

Ejemplo 5.24 Un arbol de refutacion lineal ordenada para

Ω = P ∨Q,¬P ∨Q,¬Q ∨ ¬R,¬Q ∨R

con cabeza P ∨Q es el que mostramos a continuacion:

2

P ∨ Q ∨ R ∨ ¬Q

P ∨ Q ∨R

P ∨Q

P

(. . . P ∨Q)

¬Q ∨ ¬R

¬Q ∨R

¬P ∨Q

P ∨ Q ∨ ¬R ∨ ¬Q (. . . P ∨Q)

P ∨ Q ∨ ¬R ¬Q ∨R

P ∨Q ¬Q ∨ ¬R

Los puntos suspensivos en el arbol de refutacion indican que la correspondiente clausula lateral no serequiere, puesto que se ha aplicado una reduccion (en la clausula central aparece un literal encuadrado ysu opuesto sin encuadrar).

Ejemplo 5.25

Si consideramos la clausula ordenada C = P (x) ∨ Q(x) ∨ P (a) y el u.m.g σ = x/a

Page 145: Logica Clasica de Predicados Computacional 2014 2015

5.3. RESOLUCION DE ATOMOS NO BASICOS 137

obtenemos P (a)∨ Q(a) y eliminando el ultimo literal el enmarcado obtenemos que P (a) es un factor

ordenado para C.

El metodo de resolucion lineal ordenada es correcto y completo, es decir, un conjunto Ω de clausulasordenadas es insatisfacible si y solo si existe una refutacion lineal ordenada para Ω.

5.3.2.1. Algoritmo de resolucion lineal ordenada

Pasamos a describir un modo sistematico para encontrar una refutacion lineal ordenada o bien ase-gurar que no existe, es decir, a dar una descripcion algorıtmica del metodo:

Dado un conjunto Ω de clausulas, se elige una clausula cabeza C0 ∈ Ω. Elegida C0, se toman de Ωtodas las clausulas laterales resolubles con C0. Sean R1, . . . ,Rk las correspondientes resolventes. CadaRi (1 ≤ i ≤ k) es una clausula central de una deduccion a partir de Ω con cabeza C0. Si alguna Ries 2 entonces Ω es insatisfacible. En caso contrario, para cada i, buscamos todas las clausulas lateralesresolubles con Ri y continuamos de este modo, etapa por etapa, hasta generar 2 o bien desarrollar todaslas posibles deducciones a partir de Ω con cabeza C0. En este ultimo caso, eliminamos C0 de Ω y repetimosel proceso para Ω− C0.

En cuanto a su representacion grafica, las deducciones lineales ordenadas no se suelen representarcomo arboles sino como se indica a continuacion:

...

Cn

Cn−1

C2

C1

C0

Bn−1

B1

B0

y para cada proceso de cabeza C0, se utiliza un arbol con raız etiquetada con la clausula cabeza C0. Elarbol se genera (primero en anchura o primero en profundidad) de forma que cada nivel de profundidadrepresenta una etapa. Las ramas del arbol ası generado son, por lo tanto, deducciones lineales ordenadasde cabeza C0.

Ejemplo 5.26 Dado el conjunto Ω formado por las siguientes clausulas

¬R(x, y) ∨ ¬D(y) ∨ ¬H(f(x), y) ∨ S(x)¬P (x) ∨D(x)R(x, g(y))H(f(x), g(y))¬S(g(a))P (x) ∨ S(x)P (x) ∨D(y) ∨H(b, x)

verificar su insatisfacibilidad usando resolucion lineal ordenada.

Puesto que las clausulas de Ω no son basicas, el primer paso que hay que dar consiste en el renom-bramiento de todas las variables, para evitar posibles conflictos de nombres al utilizar el algoritmo deunificacion.

Page 146: Logica Clasica de Predicados Computacional 2014 2015

138 CAPITULO 5. METODO DE RESOLUCION

eer rEste renombramiento siempre es posible, puesto que el conjunto de clausulas representa laconjuncion de todas ellas que, ademas estan cuantificadas universalmente. Las equivalencias

(∀x)(A(x) ∧B(x)) ≡ (∀x)A(x) ∧ (∀x)B(x) ≡ (∀x)A(x) ∧ (∀y)B(y)

justifican el renombramiento.

Tras renombrar tenemos un conjunto Ω′ simultaneamente satisfacible con Ω con las siguientes clausulas

¬R(x, y) ∨ ¬D(y) ∨ ¬H(f(x), y) ∨ S(x)¬P (z) ∨D(z)R(u, g(v))H(f(w), g(r))¬S(g(a))P (s) ∨ S(s)P (t) ∨D(q) ∨H(b, t)

donde q, r, s, t, u, v, w, x, y, z son sımbolos de variables y a y b sımbolos de constantes.

En la Figura 5.1 aparece un arbol de refutacion lineal ordenada para el conjunto Ω′, donde en cadaarco del arbol aparece la clausula lateral respecto de la que se resuelve y las sustituciones proporcionadaspor el unificador de mayor generalidad.

5.4. Clausulas de Horn

El metodo de resolucion aumenta considerablemente su eficiencia si se restringe el tipo de clausulasa las que se aplica. El tipo mas destacado, por su papel jugado en la Programacion Logica, es el de lasclausulas de Horn estudiadas por primera vez por Alfred Horn en 1951. En esta seccion, estudiamos lasclausulas de Horn y damos una breve vision de su uso en el lenguaje Prolog.

Definicion 5.15 Una clausula de Horn es una clausula con a lo sumo un literal positivo.

Una clausula de Horn se dice un hecho o clausula unidad9 si consiste exactamente en un literalpositivo, es decir, si es de la forma P (t1, . . . , tn). En una forma clausal el hecho P (t1, . . . , tn) representaa su cierre universal, es decir, a la formula (∀x1) . . . (∀xk)P (t1, . . . , tn).

Una clausula de Horn se dice una regla si contiene un literal positivo y literales negativos. Si C esuna regla, Q el literal positivo y ¬P1, . . . ,¬Pn los literales negativos que intervienen en C, entonces

C ≡ (P1 ∧ . . . ∧ Pn)→ Q

P1 ∧ . . .∧Pn se denomina cola de la clausula y Q la cabeza de la clausula. En una forma clausal la regla(P1 ∧ . . . ∧ Pn)→ Q, representa a su cierre universal (∀x1) . . . (∀xk)((P1 ∧ . . . ∧ Pn)→ Q).

Ejemplo 5.27 Por ejemplo, la clausula ¬P (x) ∨ ¬Q(y, a) ∨ R(x, y) es equivalente a la fbf (P (x) ∧Q(y, a))→ R(x, y), esta formula modeliza la regla “si (∀x)P (x) y (∀y)Q(y, a) entonces (∀x)(∀y)R(x, y)”.

Definicion 5.16 Una clausula de Horn se dice definida o clausula de programa si es un hecho ouna regla.

Una clausula de Horn se dice un objetivo si todos los literales son negativos.

Puesto que la resolucion es un sistema de demostracion por refutacion, la conjuncion de objetivosindividuales se anadira a la conjuncion de las hipotesis como una clausula no definida, es decir, unaclausula sin literales positivos. Por esta razon a las clausulas no definidas se les denominan objetivos:

9Unit clause en la bibliografıa inglesa.

Page 147: Logica Clasica de Predicados Computacional 2014 2015

5.4. CLAUSULAS DE HORN 139

¬R(x,y) ∨ ¬D (y) ∨ ¬H (f(x),y) ∨ S(x)

x/g(a)

¬S(g(a))

¬R(g(a),y) ∨ ¬D (y) ∨ ¬H (f(g(a)),y)

w/g(a),y/g(r)

H (f(w),g(r))

¬R(g(a),g(r))∨ ¬D (g(r))

z/g(r) q/g(r)

¬P (z) ∨ D (z)

¬R(g(a),g(r))∨ ¬D (g(r)) ∨ ¬P (g(r))

P (t) ∨ D (q) ∨ H (b,t)

P (t) ∨ D (q) ∨ H (b,t)

t/g(r)s/g(r)

P (s) ∨ S(s)

¬R(g(a),g(r))∨ ¬D (g(r)) ∨ ¬P (g(r)) ∨ S(g(r))

r/a

¬S(g(a))

¬R(g(a),g(a))

u/g(a),r/a

R(u,g(r))

¤

Figura 5.1:

Page 148: Logica Clasica de Predicados Computacional 2014 2015

140 CAPITULO 5. METODO DE RESOLUCION

En una forma clausal, el objetivo ¬P1 ∨ . . . ∨ ¬Pn , representa a su cierre universal

(∀x1) . . . (∀xk)(¬P1 ∨ . . . ∨ ¬Pn)

y por tanto,

(∀x1) . . . (∀xk)(¬P1 ∨ . . . ∨ ¬Pn) ≡ (∀x1) . . . (∀xk)¬(P1 ∧ . . . ∧ Pn)

≡ ¬(∃x1) . . . (∃xk)(P1 ∧ . . . ∧ Pn)

En definitiva, la formula que deseamos saber si se deduce o no de un conjunto de clausulas definidases de la forma (∃x1) . . . (∃xk)(P1 ∧ . . . ∧ Pn).

Si vamos a usar resolucion sobre clausulas de Horn, sera conveniente observar que la resolvente de dosclausulas de Horn tambien es una clausula de Horn. Mas formalmente, tenemos el siguiente resultado.

Lema 5.2 Las clausulas de Horn son cerradas por resolucion.

Un programa logico es una base de conocimiento o conjunto de clausulas de programa, consideradascomo hipotesis. La regla de resolucion se aplica a las hipotesis para deducir conclusiones. Ası pues, siP = H1, . . . ,Hn es un programa, ante la pregunta

¿la conjuncion de objetivos individuales O1 ∧O2, . . . ∧On es consecuencia logica de P?

el metodo de resolucion procedera como sigue:

1. Considera el conjunto de clausulas Ω = H1, . . . ,Hn,¬O1 ∨ ¬O2 ∨ . . . ∨ ¬On2. Elige la clausula objetivo ¬O1 ∨ ¬O2 ∨ . . . ∨ ¬On como clausula cabeza e inicia el proceso de

resolucion lineal ordenada

3. Si se obtiene 2 la respuesta es afirmativa.

Puesto que las clausulas objetivo son negativas, se traducen en una pregunta al programa que es unaconjuncion de literales positivos, es decir, si x1, . . . , xm es el conjunto de las variables que intervienenen la clausula objetivo ¬P1(t11, . . . t

1n) ∨ . . . ∨ ¬Pk(tk1 , . . . t

kn), entonces

(∀x1) . . . (∀xm)(¬P1(t11, . . . t1n) ∨ . . . ∨ ¬Pk(tk1 , . . . t

kn))

se traduce en la pregunta

(∃x1) . . . (∃xm)P1(t11, . . . t1n) ∧ . . . ∧ Pk(tk1 , . . . t

kn))

En definitiva, en caso afirmativo, obtendremos una sustitucion que demuestra que la respuesta

(∃x1) . . . (∃xm)P1(t11, . . . t1n) ∧ . . . ∧ Pk(tk1 , . . . t

kn))

es correcta.

El Teorema de Herbrand nos asegura que si P ∪ ¬C es insatisfacible, existe una respuesta correctadefinida por una sustitucion basica. Especıficamente, la respuesta definida a una pregunta existencial(∃x)A(x) a una base de conocimiento o programa Ω, es un termino basico t0 tal que Ω |= [x/t0]A(x).

Como nos muestra el siguiente ejemplo, no siempre es posible deducir una respuesta definida en elsentido de Prolog.

Ejemplo 5.28 Sea Ω = P (a) ∨ P (b) y la pregunta definida (∃x)P (x). Existen terminos basicos t1 = ay t2 = b tales que P (a) ∨ P (b) |= [x/t1]P (x) ∨ [x/t2]P (x), pero no existe ningun termino basico t talque Ω |= [x/t]P (x).

Page 149: Logica Clasica de Predicados Computacional 2014 2015

5.4. CLAUSULAS DE HORN 141

En la practica, para soslayar este problema, se suele considerar falsa la informacion que no puedeser deducida de un programa. Este uso se conoce en programacion logica como negacion como fallo

o hipotesis del mundo cerrado. 10 Esta no es la solucion optima, ya que identifica lo falso con lo nodemostrable. Sin embargo, el uso de esta tecnica con clausulas de Horn es la base del lenguaje Prolog.En definitiva, podemos expresar este hecho como sigue:

Si P es un programa y A una pregunta tal que P 6`R A entonces, concluimos que P `R ¬A

Si el objetivo es multiple, es decir, si intentamos probar que P `R P1 ∧ . . . ∧ Pn, la aplicacion delmetodo de resolucion lineal ordenada P ∪ ¬P1 ∨ . . . ∨ ¬Pn se recoge en programacion logica como unafuncion de seleccion que selecciona sucesivamente los objetivos a considerar.11

5.4.1. Programacion logica

Aunque con mejoras para aumentar la eficiencia, un interprete de programacion logica es esencial-mente un metodo de demostracion automatica por resolucion. La programacion logica es un formalismocomputacional que combina dos principios basicos:

1. El uso del lenguaje logico para expresar conocimiento;

2. El uso de la inferencia logica para procesar conocimiento.

En un contexto de resolucion de problemas, el primer principio supone la representacion de las hipotesisy las conclusiones. El objetivo general en dicho contexto es inferir a partir de las hipotesis dadas laconclusion deseada, de un modo computacionalmente viable.

La programacion logica, como programacion declarativa, permite expresar el conocimiento indepen-dientemente de la maquina sobre la que vaya a ser ejecutado. De este modo, permite modificar detallesde implementacion sin afectar a la correccion logica del programa. Por tanto, es mas compacto, flexiblee inteligible.

Como indica Hogger, 12, entre las razones para apostar por la programacion logica, podemos destacarlas siguientes:

1. Puesto que se trata de una programacion basada en conocimiento, permite caracterizaciones sim-ples y precisas de relaciones entre los programas y los resultados computados por ellos; entre losprogramas y sus especificaciones y entre diversos programas.

2. Permite al programador olvidarse de como va a ser realizada la computacion y concentrarse enque problema ha de resolver el programa, es decir, concentrarse en dar una especificacion clara,simple y abstracta del problema (la responsabilidad del como, pasa al traductor del lenguaje). Ası,un programa logico es una especificacion ejecutable.

3. Proporciona un paradigma uniforme para la tecnologıa del software: un solo paradigma sirve paraconstruir y manipular programas, especificaciones, bases de datos y herramientas software asocia-das.

4. Puede ser modificada o extendida de modo natural para recoger formas especiales de conocimientotales como conocimiento de orden superior o metanivel.

La tarea de escribir un programa toma como punto de partida una especificacion que describe conmayor o menor detalle como ha de comportarse un programa. Esta especificacion puede ser una declara-cion informal en lenguaje natural de los requisitos que ha de satisfacer el programa; o puede ser formal,

10Negation as failure y closed world assumption en la bibliografıa inglesa.11La variante del algoritmo de resolucion usada en Prolog se llama resolucion SLD: “Seleccion Lineal de

programas Definidos”, debido al uso de una funcion de seleccion, de resolucion lineal y de clausulas definidas.12C. Hogger. Essentials of Logic Programming. Clarendon Press, 1990.

Page 150: Logica Clasica de Predicados Computacional 2014 2015

142 CAPITULO 5. METODO DE RESOLUCION

es decir, un documento tecnico que recoge de forma precisa el comportamiento exacto que ha de tener elprograma.

La ventaja de las especificaciones formales son evidentes a posteriori, es decir, cuando despues deescribir el programa, deseamos examinar si su comportamiento se ajusta a la especificacion.

Si la especificacion utiliza la logica, podemos expresar las relaciones entre bloques simples del pro-grama y los comportamientos de estos para, posteriormente, a partir del modo de combinacion de estosbloques, utilizar las tecnicas de la logica para determinar el comportamiento del programa total.

Los primeros trabajos sobre verificacion de programas utilizando la logica se deben a Floyd 13 yHoare. 14 Pero el avance mas significativo se debe al trabajo de Z. Manna y A. Pnueli, 15 que utiliza lalogica temporal para especificacion y verificacion de programas paralelos. En este trabajo, se utiliza lalogica tanto para expresar hechos del programa como para describir su comportamiento. De este modo, lalogica puede usarse para establecer si las declaraciones sobre el comportamiento del programa se derivande las declaraciones que constituyen el programa.

Si consideramos el desarrollo del metodo en forma de arbol de resolucion, el abandono de una ramapara continuar la busqueda por la siguiente rama se denomina backtracking.eer r

Como afirma Peter Flach, ‘Podrıamos comentar largamente la diferencia entre la programa-cion imperativa y la programacion declarativa (en particular de la programacion logica a laque nos estamos refiriendo). Por ejemplo, si nos centramos en el concepto de variable deprograma. En los lenguajes imperativos, una variable es un nombre para una ubicacion dememoria que puede almacenar los datos de cieetos tipos. El contenido de la ubicacion puedenvariar con el tiempo, pero la variable siempre apunta al valor de la misma ubicacion. Dehecho, el termino “variable.es un nombre poco apropiado, ya que se refiere a un valor queesta bien definido en cada momento. Por el contrario, una variable en un programa logico esuna variable en el sentido matematico, es decir, un marcador de posicion que puede tomarcualquier valor. En este sentido, la programacion logica esta mucho mas cerca de la intuicionmatematica que de la programacion imperativa.

La programacion imperativa y la programacion logica tambien difieren respecto a la modelo demaquina que asumen. La programacion logica contempla maquinas abstractas, mientras quela programacion imperativa contempla una maquina dinamica, basada en estados mdonde elestado de la computadora esta dada por el contenido de su memoria. El efecto de un enun-ciado de programa es una transicion de un estado a otro. Por su parte, en la programacionlogica “computador mas programa” representan una cierta cantidad de conocimientos sobreel mundo, que se utiliza para responder a las consultas.

5.4.1.1. Prolog

Prolog es un lenguaje de programacion logica; se utiliza cuando queremos que el ordenador resuelvaproblemas que puedan expresarse en terminos de objetos y relaciones entre ellos.

Este formalismo de programacion anade al sistema logico central (es decir, a la conjuncion: “logica enforma clausal y resolucion”) un tipo particular de estrategia de control con el proposito de obteneruna implementacion eficiente. Como paradigma declarativo, se caracteriza porque el analisis logico de losprogramas no considera aspectos de comportamientos. En este caso, se habla de Prolog puro.

13R. Floyd. Assigning meaning to programs. In Proceeding of Symposia in Applied Mathematics, volume 19,pages 19–32. American Mathematical Society, 1967.

14C. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12:576–583, 1969.15. Z. Manna and A. Pnueli. The temporal logic of reacive and concurrent systems. Springer Verlag, 1992.

Page 151: Logica Clasica de Predicados Computacional 2014 2015

5.4. CLAUSULAS DE HORN 143

No obstante, el termino Prolog tiene ademas otras connotaciones referidas a estrategias de control,por ejemplo, anade primitivas no logicas dando lugar a un nuevo formalismo conocido como Prologimpuro. Muchas de estas primitivas contemplan aspectos de comportamientos a expensas de “corromper”el formalismo logico basico.

En sıntesis, la programacion en Prolog consiste en:

1. Declarar algunos hechos sobre los objetos y sus relaciones

2. Definir algunas reglas sobre los objetos y sus relaciones.

3. Hacer “preguntas” sobre los objetos y sus relaciones.

Cuando se hace una pregunta a Prolog, este efectuara una busqueda por toda la base de conocimiento(conjunto de hechos y reglas) introducida previamente. Buscara hechos que coincidan con el hecho encuestion. Si no lo encuentra, intentara encontrar la respuesta mediante las reglas. En definitiva,

Prolog = Proceso de obtencion de respuesta en clausulas de Horn.

+ Sistema de gestion de archivos de clausulas.

+ Clausulas predefinidas (aritmeticas, etc).

+ Funciones para controlar el proceso de busqueda.

+ Funciones para controlar el proceso de unificacion

En Prolog las clausulas se escriben en forma procedural : 16

T :− P,Q,R, S

es decir: Para resolver T es preciso resolver P , Q, R y S

Ejemplo 5.29 Dado el programa

S(x) :− Q(y), R(x, y)

Q(x) :− P (x)

P (b)

R(a, b)

Al que realizamos la pregunta: ¿S(a)? La resolucion procede como sigue:

1. S(x) :− Q(y), R(x, y)

2. Q(x) :− P (x)

3. P (b) :−4. R(a, b) :−5. :− S(a)

6. :− Q(y), R(a, y) de 1. y 5. para el umg: x/a.

7. :− P (y), R(a, y) de 2. y 6. para el umg: x/y.

8. :− R(a, b) de 3. y 7. para el umg: y/b.

9. 2 de 4. y 8.

16El termino procedural es una palabra inglesa, en espanol lo correcto serıa procedimental, es decir, en forma deprocedimiento.

Page 152: Logica Clasica de Predicados Computacional 2014 2015

144 CAPITULO 5. METODO DE RESOLUCION

Por lo tanto la respuesta sera que S(a) se deriva del programa.

En 6, al resolver 1. y 5., el objetivo S(a) ha sido reemplazado por los sub-objetivos Q(y) y R(a, y); en7., al resolver 2. y 6., el sub-objetivo Q(y) ha sido sustituido por el sub-objetivo P (y) y, por lo tanto, losnuevos sub-objetivos son P (y) y R(a, y); en 8., al resolver 3. y 7., el sub-objetivo P (y) ha sido alcanzadoy, por lo tanto, el unico sub-objetivo es ahora R(a, b) que se alcanza en 4.. Este reemplazamiento sucesivode un objetivo por los sub-objetivos que determina la resolucion es conocido como encadenamiento haciaatras ( backward chaining).

Ejemplo 5.30 Dado el programa

S(x) :− Q(y), R(x, y)

S(x) :− T (y)

Q(x) :− P (x)

P (b) :−T (c) :−

Al que realizamos la pregunta: ¿S(x)? La resolucion procede como sigue:

1. S(x) :− Q(y), R(x, y)

2. S(x) :− T (y)

3. Q(x) :− P (x)

4. P (b) :−5. T (c) :−6. :− S(x)

7. :− T (x) de 2. y 6.

8. 2 De 5. y 7. para el umg: x/c.

Por lo tanto la respuesta sera que S(c) se deriva del programa.

Si hubieramos partido en primer lugar de la clausula S(x)∨¬Q(y)∨¬R(x, y) en lugar de la clausulaS(x) ∨ ¬T (x) la ejecucion hubiera sido la siguiente:

1. S(x) :− Q(y), R(x, y)

2. S(x) :− T (y)

3. Q(x) :− P (x)

4. P (b) :−5. T (c) :−6. :− S(x)

7. :− Q(y), R(x, y) de 1. y 6. para el umg: x/c.

8. :− P (y), R(x, y) de 3. y 7. para el umg: x/y.

9. :− R(x, b) de 4. y 8. para el umg: y/b.

Como ¬R(x, b) no encuentra ninguna clausula resoluble con ella, la rama se poda y se realiza un back-tracking para ejecutar con la clausula S(x) ∨ ¬T (x) .

Page 153: Logica Clasica de Predicados Computacional 2014 2015

5.4. CLAUSULAS DE HORN 145

5.4.2. Mınimo Modelo de Herbrand para un Programa logico

Al escribir un programa logico P, tenemos en mente un significado para cada uno de los sımbolos enla signatura elegida, en definitiva, tenemos en mente una interpretacion que es un modelo para todos loshechos y reglas de P. La formalizacion en el lenguaje L1 de este modelo se denomina modelo de Herbrandmınimo.

Puesto que los modelos de Herbrand son subconjuntos de la base de Herbrand, la relacion de inclusionconjuntista, ⊆, establece un orden en el conjunto de los modelos de Herbrand. Existe entonces un modelode Herbrand minimal al que se denomina modelo mınimo de Herbrand de P y que, como veremos,contiene exactamente los atomos basicos que se derivan de P por resolucion. Como hemos indicado, Ppuede contener mas informacion pero esta no puede ser derivada de P.

Teorema 5.6 Dado un programa logico P la interseccion de todos los modelos de Herbrand para P esel mınimo modelo de Herbrand para P.

Demostracion: Probemos en primer lugar que todo programa logico es satisfacible, es decir, tiene unmodelo de Herbrand. En efecto, consideremos MH,Ω = (HΩ, IH,Ω) donde

IH,Ω = P | P ∈ BP y el atomo del cual P es instancia basica ocurre en P

es un modelo de Herbrand para P.

La demostracion se completa sin mas que considerar que, obviamente, la interseccion de modelos deHerbrand para P es un modelo de P.

Teorema 5.7 Dado un programa logico P el mınimo modelo de Herbrand para P es el conjunto de todoslos atomos basicos que son consecuencia logica de P.

Demostracion: Sea ConbAtom(P) el conjunto de todos los atomos basicos que son consecuencia semanti-ca de P y sea mmH(P) =

⋂i∈IMi

H,P la interseccion de todos los modelos de Herbrand para P. Tenemosque probar que

ConbAtom(P) = mmH(P)

Por definicion de consecuencia semantica, es obvio que

ConbAtom(P) ⊆ mmH(P)

Inversamente, sea P ∈ mmH(P). Tenemos que probar que cualquier modeloM de P es un modelo de P .Por definicion de P , esto es cierto siM = (D, I) es un modelo de Herbrand. Supongamos queM = (D, I)no es un modelo de Herbrand. Como vimos en la demostracion del Teorema 2.1, Q ∈ BH,P | I(Q) = 1es un modelo de Herbrand para P y puesto que P es verdadera para todo modelo de Herbrand de P, setiene que I(P ) = 1. Por lo tanto,

mmH(P) ⊆ ConbAtom(P)

5.4.2.1. Construccion del mınimo modelo de Herbrand

Definicion 5.17 Sea P un programa logico y sea

Φcon : 2BH,P −→ 2BH,P

el operador de consecuencia semantica definido como se indica para cualquier Γ ⊆ BH,P :

Page 154: Logica Clasica de Predicados Computacional 2014 2015

146 CAPITULO 5. METODO DE RESOLUCION

Φcon(Γ) = Q | ¬R1 ∨ . . . ∨ ¬Rn ∨Q es una instancia basica de una clausula de P y R1, . . . , Rn ∈ Γ

El mınimo modelo de Herbrand MmınH,P se construye recursivamente con el operador de consecuencia,

hasta que se encuentra un punto fijo:

Φ0con = ∅;

Φn+1con = Φcon(Φncon); para n ≥ 0

MmınH,P =

⋂n=∞n=0 Φncon

Ejemplo 5.31 Sea P = P (a), P (b),¬P (x) ∨ P (f(x)). Entonces MmınH,P se construye como sigue:

OP 0con = ∅;

OP 1con = P (a), P (b)

OP 2con = P (f(a)), P (f(b))

MmınH,P = P (fn(a) | n ∈ N ∩ P (fn(b) | n ∈ N

Ejemplo 5.32 Sea P = En(b, a), En(c, b), Sobre(x, y) := En(x, y), Sobre(x, y) := En(x, z), Sobre(z, y)El modelo mınimo de Herbrand para este programa es el siguiente:

En(b, a), En(c, b), Sobre(b, a), Sobre(c, b), Sobre(c, a)

eer rTerminamos este Capıtulo planteandonos la siguiente pregunta:

Si los programas representan unicamente conocimiento positivo sobre un problema¿Como se pueden obtener consecuencias logicas negativas?

En efecto, los programas expresan conocimiento positivo, en el sentido que los hechos y lasreglas describen que ciertos objetos estan en cierta relacion. Las relaciones se hacen explıcitasen el modelo mınimo de Herbrand. Por ejemplo, si consideramos de nuevo el ejemplo 5.32,observamos que ni el programa, ni el modelo mınimo de Herbrand, incluyen informacionnegativa del tipo: “a no esta sobre b”, o “b no esta sobre c”. La manera de actuar en estetipo de situaciones es considerar que toda la informacion disponible esta a nuestro alcance,es decir, como destacamos en la pagina 140, asumimos la hipotesis del mundo cerrado, CWA:Si una atomo basico A, no puede derivarse del programa P, entonces puede derivarse ¬A.

En nuestro ejemplo, la fbf Sobre(b, c) no puede ser derivada por resolucion a partir del pro-grama P. En realidad Sobre(b, c) no puede ser derivada por ningun sistema correcto, puestoque no es una consecuencia logica de P. Puesto que la resolucion es un sistema completo,podemos concluir que P 6|= Sobre(b, c) y usando la CWA inferimos que ¬Sobre(b, c).

Page 155: Logica Clasica de Predicados Computacional 2014 2015

5.5. EJERCICIOS 147

5.5. Ejercicios

1. Definir por induccion estructural la nocion de sustitucion finita sobre el conjunto Term de terminosde L1.

2. Dado el atomo P (x, y, z, t) y las sustituciones

θ1 = x/f(y), y/g(w), z/v; θ2 = x/a, y/b, w/f(y), v/z, t/c

donde x, y, z, t, v y w son sımbolos de variables y a, b y c son sımbolos de constantes. Hallar

(θ2 θ1)P (x, y, z, t)

3. Hallar, si existe, un unificador para cada uno de los siguientes conjuntos de atomos

a) P (x, f(y), z), P (g(a), f(w), u), P (v, f(b), c)b) Q(h(x, y), w), Q(h(g(v), a), f(v)), Q(h(g(v), a), f(b))

4. Hallar el conjunto de discrepancias para los conjuntos de terminos:

a) f(x, x), f(y, g(y))b) f(x, g(y)), f(h(y), g(h(z)))c) f(h(x), g(x)), f(g(x), h(x))

5. Hallar, si existe, un umg para cada uno de los siguientes pares de atomos

a) P (x, a) y P (b, c)

b) P (f(x), y)) y P (f(a), z)

c) P (f(x), y)) y P (b, z)

d) P (x, a) y P (b, a)

e) P (x, f(a, x)), P (b, y)

f ) Q(x, f(g(a, x), z)) y Q(b, f(g(a, f(w, c)), h(y, x)))

g) P (f(y, g(z)), h(b)) y P (f(h(b), g(z)), y)

h) P (a, f(b, f(c, x))) y P (a, y)

i) R(x, f(g(a, y), z)) y R(b, f(g(a, f(w, c)), h(y, x)))

j ) Q(x, f(a, f(y, c))) y Q(z, f(z, f(f(a, c), w)))

k) Q(f(a), g(x)) y Q(y, y)

l) P (a, x, h(g(z))) y P (z, h(y), h(y))

6. Determine si las siguientes clausulas tienen factores y en tal caso determınelos:

P (x) ∨Q(y) ∨ P (f(x) P (x) ∨ P (a) ∨Q(f(x)) ∨Q(f(a))P (x, y) ∨ P (a, f(a)) P (a) ∨ P (b) ∨ P (x)P (x) ∨ P (f(y)) ∨Q(x, y)

7. Hallar todas las resolventes para cada uno de los siguientes pares de clausulas

a) ¬P (x) ∨Q(x, b) y P (a) ∨Q(a, b)

b) ¬P (x) ∨Q(x, x) y ¬Q(a, f(a))

c) ¬P (x, y, u) ∨ ¬P (y, z, v) ∨ ¬P (x, v, w) ∨ P (u, z, w), y P (g(x, y), x, y)

d) ¬P (v, z, v) ∨ P (w, z, w) y P (w, h(x, x), w)

Page 156: Logica Clasica de Predicados Computacional 2014 2015

148 CAPITULO 5. METODO DE RESOLUCION

e) P (x, y) ∨ P (y, z) y ¬P (a, f(a))

f ) P (x, x) ∨ ¬Q(x, f(x)) y Q(x, y) ∨R(y, z)

g) P (x, y) ∨ ¬P (x, x) ∨Q(x, f(x), z) y P (x, z) ∨ ¬Q(f(x), x, z)

h) P (x, f(x), z) ∨ P (u,w,w) y ¬P (z, y, z) ∨ ¬P (z, z, z)

i) ¬P (x, y) ∨ ¬P (f(a), g(u, b)) ∨Q(x, u) y

P (f(x), g(a, b) ∨ ¬Q(f(a), b) ∨ ¬Q(a, b)

8. Expresar en L1 y demostrar por resolucion la siguiente propiedad de las relaciones binarias:

Si una relacion es simetrica, transitiva y total (es decir, para todo elemento existe otro relacionadocon el) entonces tambien es reflexiva.

9. Transformar en formula clausal la fbf

(∀x)(∀y)((¬P (x) ∨ ¬P (f(a)) ∨Q(y)) ∧ P (y) ∧ ¬P (g(b, x)) ∧ ¬Q(b))

y analizar mediante resolucion lineal ordenada su satisfacibilidad.

10. Aplicar resolucion lineal ordenada para analizar la satisfacibilidad o no del conjunto

(∀x)((E(x) ∧ ¬V (x))→ (∃y)(S(x, y) ∧ C(y))

),

(∃z)(P (z) ∧ E(z) ∧ (∀u)(S(z, u)→ P (u))

)(∀v)P (v)→ (∃t)¬V (t), (∀r)(¬P (r) ∨ ¬C(r))

11. Aplicar resolucion lineal ordenada para analizar la satisfacibilidad o no del conjunto de clausulas

P (x) ∨Q(x) ∨R(x, f(x)),¬P (z) ∨Q(z) ∨ S(f(z)), T (a), P (a),

R(a, y) ∨ T (y),¬T (u) ∨ ¬Q(u),¬T (w) ∨ ¬S(w)

12. Probar mediante resolucion lineal ordenada la validez de la fbf

(∀x)(∃y)¬(P (x, y)↔ ¬P (y, y)

)13. Formalizar en la logica de primer orden la norma de la Paradoja del barbero de Russel:

En un pueblo hay un solo barbero y existe la norma de que “El barbero unicamente cortael pelo a aquellas personas que no se cortan el pelo a sı mismas.

Demuestre que tal norma es insatisfacible.

14. Probar mediante resolucion lineal ordenada la correccion del razonamiento:

(∀x)P (x)→ ((∃y)Q(y) ∧ (∀z)R(z))¬(∀z)R(z)→ ¬(∀x)P (x)

15. Probar mediante resolucion lineal ordenada la correccion del razonamiento:

(∀x)(C(x)→ (W (x) ∧R(x)))

(∃x)(C(x) ∧Q(x))

(∃x)(Q(x) ∧R(x))

Page 157: Logica Clasica de Predicados Computacional 2014 2015

5.5. EJERCICIOS 149

16. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:

M(a, s(c), s(b))P (a)M(x, x, s(x))¬M(x, y, z) ∨M(y, x, z)¬M(x, y, z) ∨D(x, z)¬P (x) ∨ ¬M(y, z, u) ∨ ¬D(x, u) ∨D(x, y) ∨D(x, z)¬D(a, b)

17. Estudie la insatisfacibilidad del siguiente conjunto de clausulas

P (y, a) ∨ P (f(y), y)P (y, a) ∨ P (y, f(y))¬P (x, y) ∨ P (f(y), y)¬P (x, y) ∨ P (y, f(y))¬P (x, y) ∨ ¬P (y, a)

18. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:

¬P (x, y, u) ∨ ¬P (y, z, v) ∨ ¬P (x, v, w) ∨ P (u, z, w)P (g(x, y), x, y)P (x, h(x, y), y)¬P (k(x), x, k(x))

19. Para cada una de las formulas siguientes, A: determine una formula en forma normal de Skolemequisatisfacible con A y determine su universo y base de Herbrand; determine una formula en formanormal de Skolem equisatisfacible con ¬A y determine su universo y base de Herbrand.

a) (∀x)P (x)→ (∃x)Q(x)

b) (∀x)(P (x)→ (∃y)R(y))

c) (∀x)(P (x)→ (∃y)Q(x, y))

d) (∃x)(¬(∃y)P (y)→ (∃z)(Q(z)→ R(x)))

e) (∀x)(∀y)((∃z)P (z) ∧ (∃u)(Q(x, u)→ (∃v)Q(y, v)))

f ) (∀x)(∀y)((∃z)(P (x, z) ∧ P (y, z))→ (∃u)Q(x, y, u)

)g) (∀x)(∀y)(∀z)((P (x, y) ∧ P (y, z))→ Q(x, z)) ∧ ((∀x)(∃y)P (x, y)→ (∀x)(∃y)Q(x, y))

20. Dado el razonamiento:

(∀x)[(∃y)

(E(x) ∧ C(x, y)

)→(S(x) ∧ (∀z)(C(z, x)→ S(z))

)](∀x)(∀y)

[(P (x) ∧ C(y, x))→ R(y)

]———————————————————————————(∀x)

[(P (x) ∧ (∃y)(E(y) ∧ C(x, y))

)→ (∀z)

(C(z, x)→ (R(z) ∧ S(z))

)]Encontrar un conjunto Ω de clausulas tal que el razonamiento es valido si y solo si Ω es insatisfacible.

21. Probar haciendo uso del metodo de resolucion la correccion del siguiente razonamiento:

Si el profesor es feliz si a todos sus alumnos les agrada estudiar logica, entonces el esfeliz si no tiene alumnos.

22. Probar haciendo uso del metodo de resolucion la correccion del siguiente razonamiento:

Page 158: Logica Clasica de Predicados Computacional 2014 2015

150 CAPITULO 5. METODO DE RESOLUCION

Hay pacientes a los que les agradan todos los medicos. A ningun paciente le agradaningun charlatan. Por lo tanto, ningun medico es charlatan.

23. Aplicar resolucion lineal ordenada para analizar la validez o no del razonamiento siguiente:

Todos los hombres son mamıferos.

Todos los mamıferos son vertebrados.

Todos los vertebrados son hombres.

24. Aplicar resolucion lineal ordenada para analizar la validez o no del razonamiento siguiente:

Ningun vendedor de coches usados compra un coche usado para uso familiar.

Algunos de los que compran un coche usado para uso familiar son deshonestos.

Por lo tanto, algunas personas deshonestas no son vendedores de coches usados.

25. Aplicar resolucion lineal ordenada para analizar la validez o no de los siguientes razonamientos:

a) Todo estudiante es honesto, Juan no es honesto; por lo tanto Juan no es estudiante.

b) Todo atleta es fuerte, todo el que es fuerte e inteligente triunfara en su carrera, Pedro es unatleta, Pedro es inteligente; por lo tanto Pedro triunfara en su carrera.

c) Todo aquel que ama a alguien ama a San Francisco, no hay nadie que no ame a nadie; por lotanto todo el mundo ama a San Francisco.

26. Dado el programa Prolog:

Comprende(logica-comput-I,x) :− Atiende(x, clases)Atiende(x, clases) :− Responsable(x)Responsable(carlos)

a) Inferir de este programa que Carlos comprende la asignatura.

b) ¿Se puede inferir de este programa que Carlos no es responsable?

c) ¿Que objetivos atomicos se puede inferir de este programa?

Page 159: Logica Clasica de Predicados Computacional 2014 2015

Capıtulo 6

Logica de Predicados de SegundoOrden

Indice

6.1. Lenguajes de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . 152

6.1.1. Formulas Bien Formadas . . . . . . . . . . . . . . . . . . . . . . . . . . 152

6.1.2. Limitaciones expresivas de la logica de primer orden que no tiene la desegundo orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

6.1.3. Algunas cuestiones mas acerca de la logica de segundo orden . . . . . . 158

En este capıtulo vamos a dar una breve vision de la logica de predicados de orden superior. Veremossu complejidad y, que de cara a nuestro interes, computacionalmente es difıcilmente tratable.

Como ya conocemos, en la logica de primer orden, L1, podemos cuantificar variables individuales,podemos expresar, por ejemplo, “hay individuos x tales que se dedican a la profesion de actriz” o bien,simplificando, “existen actrices”, mediante la formula, (∃x)A(x), donde A(x) expresa “x es actriz”. Peroen L1 no podemos cuantificar sobre los sımbolos de predicados de individuos, es decir, en L1 no podemos“predicar” sobre los elementos de P en la signatura de los lenguajes de primer orden. Ası, en nuestroejemplo, no podemos cuantificar sobre el sımbolo A que representa el predicado actriz.

Consideremos otros ejemplos:

en L1 podemos expresar que R es una relacion tal que cada elemento solo se relaciona consigomismo por

(∀x)(∀y)(R(x, y)→ (x = y)

)pero no podemos expresar la existencia de una tal relacion.

en L1 no podemos expresar “existen relaciones binarias que son transitivas, pero que no son simetri-cas”.

Si (X,≤) es un conjunto bien fundado (es decir, todo subconjunto de X tiene un elemento minimal),entonces en L1 no existe ninguna fbf A tal que nos exprese que (X,≤) es bien fundado si y solo siA es valida

La fbf (∀x)(∀y)(S(x, y)↔ R(y, x)) expresa que S es la relacion inversa de P. Pero en L1 no existeninguna fbf A tal que nos exprese que S es el la clausura transitiva de P .

151

Page 160: Logica Clasica de Predicados Computacional 2014 2015

152 CAPITULO 6. LOGICA DE PREDICADOS DE SEGUNDO ORDEN

Una logica que permita cuantificar no solo sobre variables individuales, sino tambien sobre los sımbolosde predicados individuales se denomina logica de segundo orden.

En L1 no solo no podemos cuantificar sobre variables de predicados, tampoco podemos “predicar”sobre tales variables. Si decimos “ser actriz es una profesion” estamos predicando sobre el predicado deindividuo “actriz”. Una logica que permita “predicar” sobre variables individuales y sobre variables depredicados individuales se denomina logica de tercer orden y podemos seguir ası sucesivamente. Engeneral, a la logica que integra todos los formalismos de orden superior a 1 se le denomina logica de

orden superior.

En este capıtulo nos limitamos a considerar la logica de predicados de segundo orden, L2 y nos centra-remos tanto en las propiedades de interes que la diferencian claramente de L1, como en sus limitacionesdesde el punto de vista computacional.

6.1. Lenguajes de segundo orden

Recordemos que el alfabeto de un lenguaje de primer orden con signatura Σ = (C,F ,P) denotado L1(Σ),es

a1Σ = Σ ∪ V ∪ ¬,∧,∨,→,↔,∀,∃, , , (, ), , , . . .

donde

1. V = x, y, z, v, . . . , x1, y1, z1, v1, . . . , xn, yn, zn, vn, . . . es un conjunto infinito numerable, de sımbo-los de variables individuales (de primer orden).

2. C es un conjunto numerable (posiblemente vacıo), de sımbolos de constante individuales paracuyos elementos usamos los sımbolos a, b, c, . . . (posiblemente subindizados).

3. F =⋃∞

1 Fn es un conjunto numerable (posiblemente vacıo) de sımbolos de funcion sobre individuosy cada Fn un conjunto numerable (posiblemente vacıo) de sımbolos de funcion n-arias sobre n-tuplasde individuos, para cuyos elementos usamos los sımbolos f, g, h, . . . (posiblemente subindizados y,si ha lugar a confusion, superindizados por n).

4. P =⋃∞

1 Pn es un conjunto numerable y no vacıo de sımbolos de predicados que “predican” sobreindividuos y cada Pn un conjunto numerable de sımbolos de predicados n-arios que predicansobre n-tuplas de individuos, para cuyos elementos usamos los sımbolos P,Q,R, . . . (posiblementesubindizados y, si ha lugar a confusion, superindizados por n).

Como hemos indicado, la logica de predicado de segundo orden, L2, aumenta la expresividad de la logicade primer orden, L1, permitiendo cuantificar sobre predicados. En consecuencia, junto a las variables deindividuos, incluye una familia numerable de variables de predicado de aridad n para cada n ≤ 0.

Definicion 6.1 [Alfabeto de un lenguaje de segundo orden] Dado un lenguaje de primer orden L1(Σ),con alfabeto Σ = a1, el alfabeto del lenguaje de segundo orden L2(Σ) es

a2Σ = a1

Σ ∪ X

donde X =⋃Xn y cada Xn es un conjunto infinito numerable de variables de predicados n-arios o

variables de segundo orden. Para los elementos de X usaremos los sımbolos X,Y, Z, . . . posiblementesubindizados.

6.1.1. Formulas Bien Formadas

El conjunto de terminos (cadenas de sımbolos que representan elementos del universo del discurso)es el mismo que el introducido en la definicion 1.2 para LΣ

1 , es decir T ermΣ1 = T ermΣ

2 y lo denotaremossimplemente por T erm.

Page 161: Logica Clasica de Predicados Computacional 2014 2015

6.1. LENGUAJES DE SEGUNDO ORDEN 153

Destaquemos que, segun hemos definido, los sımbolos de funcion no toman como argumentos sımbolosde predicado.

Ahora definimos el conjunto de fbfs atomicas.

Definicion 6.2 [Atomos] Los atomos son los elementos de (aΣ2 )? pertenecientes al conjunto

AtomΣ2 = P (t1, . . . , tn) | P ∈ Pn, t1, . . . , tn ∈ T erm∪X(t1, . . . , tn) | n ∈ N, X ∈ Xn, t1, . . . , tn ∈ T erm

Podemos ya definir el conjunto de fbfs, esto es, el lenguaje LΣ2 .

Definicion 6.3 [Formulas bien formadas] Dado un sımbolo de variable predicativa X ∈ X , se definen lasfunciones

UX , EX : (a2Σ)∗ −→ (a2

Σ)∗ por UX(A) = (∀X)A y EX(A) = (∃X)A

El conjunto de las formulas bien formadas es el conjunto de los elementos de (aΣ2 )∗ determinados por las

siguientes reglas:

1. Toda fbf de LΣ1 es una fbf.

2. Si X es un sımbolo de variable predicativa n-ario y t1, . . . , tn ∈ T erm, entonces X(t1, . . . , tn) esuna fbf.

3. Si A y B son fbfs, ¬A, (A ∨B), (A ∧B), (A→ B) y (A↔ B) son fbfs.

4. Si A es una fbf y x es un sımbolo de variable individual, (∀x)A y (∃x)A son fbfs.

5. Si A es una fbf y X es un sımbolo de variable predicativa, (∀X)A y (∃X)A son fbfs.

6. solo las cadenas obtenidas aplicando las reglas 1, 2, 3, 4 y 5 son fbfs.

Las definiciones de variables predicativas libres y ligadas son las analogas a las correspondiente no-ciones de variables libres y ligadas en primer orden introducidas en la definicion 1.13.

Ejemplo 6.1

(∃R)(∀x)(∀y)(R(x, y) → (x = y)

)expresa que “existe una relacion tal que cada elemento solo se

relaciona consigo mismo”

(∃X)(X(a) ∧X(b)) expresa que “existe una propiedad tal que a y b la satisfacen”

El Principio de los indiscernibles de Leibnitz. 1 se puede expresar en L2 por

(a = b)↔ (∀X)(X(a)↔ X(b))

La expresion “S es la clausura transitiva de P?? puede ser expresada por la fbf de segundo orden

(∀x)(∀y)(S(x, y)↔ (∀X)(Φ(X)→ Q(x, y)));

donde Φ(X) es

(∀z)(∀v)(P (z, v)→ S(z, v)) ∧ (∀z)(∀v)(∀w)((S(z, v) ∧Q(v, w))→ S(z, w))

es decir, S es la interseccion de todas las relaciones transitivos que contienen P .

1“Si dos objetos a y b comparten todas sus propiedades, entonces a y b son identicos, es decir, son el mismoobjeto”.

Page 162: Logica Clasica de Predicados Computacional 2014 2015

154 CAPITULO 6. LOGICA DE PREDICADOS DE SEGUNDO ORDEN

Semantica para LΣ2

Desde un punto de vista semantico, la modificacion efectuada respecto a la sintaxis de los lenguajesde primer orden exige que, ademas de asignar significado a las variables individuales (en un conjuntode individuos) asignemos tambien significado a las nuevas variables predicativas, bien en partes de unconjunto dado (si son monarias) o bien en conjuntos de n-uplas ordenadas de partes de un conjunto (sison n-arias).

Definicion 6.4 [Semantica] Si LΣ2 es un lenguaje de segundo orden con alfabeto Σ, definimos una

interpretacion (U, I) para LΣ2 exactamente como en la Definicion 1.27 para la logica de primer orden.

Asımismo, se define la evaluacion de variables individuales como en primer orden, ξ : V −→ U . Ademas,definimos, para cada n, una valuacion o asignacion de variables predicativas n-arias

Ξn : Xn −→ Un

tal que a cada variable predicativa n-aria X ∈ Xn le asigna n-uplas ordenadas de elementos de U .

Las nociones de “satisfacibilidad”, ”validez”y “consecuencia logica” son extensiones de las dadas enprimer orden (ver Definicion 1.31). Extendemos en primer lugar la nocion de satisfacibilidad dada enprimer orden anadiendo:

(U, I, ξ, Ξn | n ∈ N) |= X(t1, . . . , tn) si y solo si Iξ(t1, . . . , tn) ∈ Ξn(X)

(U, I, ξ, Ξn | n ∈ N) |= (∃X)A si y solo si existe ∆ ⊂ Un tal que

(U, I, ξ, Ξn | n ∈ N)X/∆ |= A

donde (U, I, ξ, Ξn | n ∈ N)X/∆ expresa que Ξn(X) = ∆.

La definicion de (U, I, ξ, Ξn | n ∈ N) |= (∀X)A se obtiene considerando (∀X) como cuantificadordefinido en el modo habitual, es decir

(∀X)A =def ¬(∃X)A

Podrıamos contar con un lenguaje de segundo orden mas complejo introduciendo un conjunto devariables funcionales en la signatura, es decir, sımbolos de funcion cuantificables. Esta extension no laconsideraremos en este libro.

Aunque las modificaciones introducidas puedan parecer pequenas, pronto veremos que las repercu-siones en la potencia expresiva es muy grande. Vamos ahora a analizar la falta de capacidad expresiva dela logica de primer orden para hablar de algunas propiedades de interes.

6.1.2. Limitaciones expresivas de la logica de primer orden que no tiene lade segundo orden

Entenderemos que una propiedad P es expresable (caracterizable o definible) en la logica de primerorden, L1, cuando existe un conjunto (finito o infinito) de formulas cerradas Γ ⊆ L1 tal que para todainterpretacion (U, I) de L1 se cumple que:

(U, I) satisface Γ si y solo si (U, I) cumple la propiedad P

Ası, por ejemplo, la propiedad de reflexividad es expresable en la logica de primer orden ya que la formula(∀x)R(x, x) es verdadera en toda interpretacion (U, I) donde la relacion binaria R se interpreta como unarelacion reflexiva, esto es, I(R) contiene al menos todos los pares de la forma (u, u) para todo u ∈ U . Porel contrario, en cualquier interpretacion donde I(R) no posea dicha interpretacion, la formula (∀x)R(x, x)sera falsa.

Entre las limitaciones expresivas de la logica de primer orden podemos destacar algunas como lassiguientes:

Page 163: Logica Clasica de Predicados Computacional 2014 2015

6.1. LENGUAJES DE SEGUNDO ORDEN 155

I) Dificultades para expresar las cardinalidades de las interpretaciones, es decir, inca-pacidad para expresar tanto la infinitud como la finitud mediante un conjunto finito de formulas.

En la Seccion 3.3.1, mostramos que en la Teorıas de Primer Orden con Igualdad, podıamos expresarpropiedades acerca de la cardinalidad del dominio de una interpretacion, esto es, acerca de sunumero de elementos. Contamos con formulas que recogen afirmaciones como “hay exactamenten elementos”, ”hay a lo sumo n elementos” o “hay al menos n elementos”, pero las dificultadessurgen al pretender expresar que el dominio es finito o infinito.

Una formula que exprese “hay al menos n elementos” es verdadera justamente en todas las inter-pretaciones (U, I), donde |U | ≥ n. Aquı caben modelos tanto finitos (con lımite inferior n en cuantoa su cardinalidad) como infinitos.

eer rSi consideramos el conjunto Ωinf de todas las formulas que, para cualquier entero

positivo n, expresan “hay al menos n elementos” tenemos un conjunto de formulasque, claramente, solo puede ser satisfacible en interpretaciones con un numero infinitode elementos. Es decir, tenemos el resultado siguiente: para toda interpretacion

(U, I), se cumple que

(U, I) satisface Ωinf si y solo si U es infinito

Cabe preguntarse ahora si podemos mejorar este resultado, es decir, si existe un con-junto finito (por lo tanto, una formula) capaz de expresar la infinitud del dominio delos modelos. La respuesta es negativa. Este resultado es consecuencia directa del Teore-ma de compacidad, que vale para la logica de primer orden como hemos mostrado (verTeorema 2.9 en la pagina 72).

La demostracion del resultado es sencilla. Supongamos que hubiera una formula A queexpresara infinitud del dominio, es decir, que fuera verdadera en todas las interpre-taciones con un dominio infinito y falsa en todas las interpretaciones con un dominiofinito. Sabemos que todos los modelos del conjunto Ωinf son infinitos, luego Ωinf |= Ay entonces, teniendo en cuenta el Teorema de compacidad, existirıa un conjunto finitoΩ ⊂ Ωinf tal que Ω |= A. Ahora bien, como ha quedado patente, no todos los modelosde Ω son infinitos y puesto que Ω |= A, los modelos infinitos de Ω, son modelos de A,luego no todos los modelos de A son finitos, ası que una formula A que exprese infinituddel dominio no puede existir.

Hemos pues mostrado una falta de expresividad de la logica de primer.

Destaquemos otro hecho: En la Logica de Primer Orden existen formulas para las cuales todossus modelos son infinitos. En efecto, consideremos las siguientes propiedades expresables en primerorden:

(∀x)¬R(x, x) (R es irreflexiva)

(∀x)(∀y)(∀z)((R(x, y) ∧R(y, z))→ R(x, z)

)(R es transitiva)

(∀x)(∃y)R(x, y) (R es serial)

La conjuncion de estas tres formulas es una formula cuyos modelos son todos infinitos. Pero ello nosignifica que tal conjuncion exprese infinitud; ya hemos comprobado que eso es imposible. Puedehaber interpretaciones con un numero infinito de elementos donde la formula sea falsa, basta coninterpretar R de una manera concreta que haga tal trabajo.

Page 164: Logica Clasica de Predicados Computacional 2014 2015

156 CAPITULO 6. LOGICA DE PREDICADOS DE SEGUNDO ORDEN

Esto sugiere que en segundo orden podemos expresar la infinitud sustituyendo la anterior letrapredicativa R en la formula conjuntiva anterior por una variable relacional de segundo orden cuan-tificada convenientemente. De hecho, la formula de segundo orden siguiente, denotada INF (usamosuna variable binaria de segundo orden X en lugar de R) expresa infinitud:

INF = (∃R)((∀x)¬X(x, x) ∧ (∀x)(∀y)(∀z)

((X(x, y) ∧X(y, z))→ X(x, z)

)∧ (∀x)(∃y)X(x, y)

)eer r

Como vemos, en la Logica de Primer Orden podemos expresar la propiedad de infinituddel dominio, pero con un conjunto infinito de formulas. En cambio, el resultado respectode la finitud es peor, ni siquiera es posible expresar con un conjunto infinito de formulasque el dominio de los modelos es finito. Supongamos lo contrario, que existe un conjunto deformulas, llamemosle Ωfin, tal que para toda interpretacion (U, I), se cumple que

(U, I) satisface Ωfin si y solo si U es finito

Dado que todos los subconjuntos finitos de Ωinf poseen al menos un modelo finito, es claroque todo subconjunto finito del conjunto Ωinf ∪Ωfin posee un modelo finito. Por el Teoremade compacidad el conjunto Ωinf ∪ Ωfin tambien tendra un modelo, lo cual nos lleva a con-tradiccion, ya que dicho modelo de Ωinf y Ωfin a la vez, tendrıa que ser simultaneamenteinfinito y finito.

En cambio, en segundo orden basta con negar la formula anterior INF para expresar lafinitud.

II) Incapacidad para expresar el principio de induccion matematica que establece que:

Para cualquier propiedad P, si 0 cumple la propiedad P y si un numero natural cualquieran la cumple, tambien la cumple el siguiente, entonces todo numero natural cumple lapropiedad P.

Este principio se aplica solo a los numeros naturales o cualquier conjunto isomorfo a el, y, comoveremos, en la Logica de Primer Orden no contamos con recursos para hablar unicamente de ellos.

En efecto, senalemos en primer lugar, que los lenguajes de primer orden no pueden caracterizar laestructura de los numeros naturales. Consideremos la signatura de la aritmetica de primer orden:

• Un sımbolo de constante: a (para representar al 0).

• Un sımbolo de funcion monaria: f11 (para “sucesor” ) y dos sımbolos de funciones binarias:

f21 (para “suma” ) y f2

2 (para “producto” ).

• El unico sımbolo de predicados es el sımbolo de predicado binario =.

Consideremos ahora la interpretacion MN cuyo dominio es N y que asigna a cada sımbolo intro-ducido su significado natural, es decir, a la constante a el 0, al sımbolo f !

1 la funcion sucesor en N,etc.

Sabemos que la teorıa paraMN es el conjunto de fbfs de primer orden verdaderas enMN. LlamemosT (N) a dicha teorıa. Sea c una nueva constante (ampliamos, pues, el lenguaje de la teorıa) yconsideremos el conjunto de formulas Ω = An | n ∈ N, donde A1 es c 6= f1

1 (a), A2 es c 6=f1

1 (f11 (a)), etc.

Consideremos el conjunto T (N)∪Ω y comprobemos que cualquier subconjunto finito Γ ⊆ T (N)∪Ωtiene un modelo.

Page 165: Logica Clasica de Predicados Computacional 2014 2015

6.1. LENGUAJES DE SEGUNDO ORDEN 157

Γ tiene a lo sumo un numero finito de formulas de Ω, sea An la formula de subındice maximo.Entonces podemos definir una interpretacion MN

c que coincide con MN excepto que asigna unvalor a c en N; en realidad, cualquier numero natural mayor que n nos sirve para asignarle a c.

La interpretacion MNc es un modelo de todas las formulas de Ω que pertenecen a Γ. En efecto,

basta tener en cuenta que c es distinto de la asignacion realizada a todos los terminos funcionalesque intervienen en dichas formulas. Por otro lado, MN

c es tambien un modelo de las formulas deT (N) pertenecientes a Γ, ya que estas no dependen del valor asignado a c.

Por el Teorema de compacidad, tenemos que T (N)∪Ω tiene un modelo, seaM. Este modelo cuentaal menos con un elemento que no pertenece a N, pues el objeto asignado a c no es ningun numeronatural, debido a lo que expresan las formulas de Ω. Si transferimos este hecho al lenguaje de laaritmetica primitivo (es decir, sin la constante c) lo cual podemos realizarlo sin mas que restringirM eliminando la asignacion efectuada a c enM, la interpretacion obtenida es tambien un modelode T (N), pero sigue contando con el mismo dominio.

Lo que hemos hecho es aplicar el siguiente lema de reduccion:

Lema 6.1 Sean L(Σ1) y L(Σ2) dos lenguajes de primer orden tales que Σ1 ⊂ Σ2. Sea (U2, I2) unainterpretacion de L(Σ2) y (U1, I1) la restriccion de (U2, I2) a L(Σ1). Entonces para todo terminobasico t y toda formula A de L1 se cumple:

1. I(t) = I ′(t).

2. A es verdadera en (U, I) si y solo si A es verdadera en (U, I ′) -

La cuestion es que el modelo final que hemos encontrado no es MN, claro esta, es un modelo quesatisface una teorıa aritmetica con al menos un elemento que no esta en N. Se trata de lo que sellama un “modelo no estandar” de la aritmetica.

Como consecuencia se deduce que no tenemos recursos suficientes en primer orden para hablar detodos los numeros naturales 0, 1, 2 . . . y solo de ellos. Se nos cuelan “mas cosas”. Justamente estehecho impide que podamos expresar el principio de induccion.

Sin embargo, en L1 sı podemos expresar este principio para cada propiedad P elegida, es decir,podemos expresar:

[P (0) ∧ (∀x)(P (x)→ P (f11 (x)))]→ (∀x)P (x)

En logica de segundo orden, en cambio, se puede expresar el principio en toda su generalidad(usamos una variable monaria X de segundo orden):

(∀X)([X(0) ∧ (∀x)(X(x)→ X(f1

1 (x)))]→ (∀x)X(x))

III) Incapacidad para expresar el orden de los reales. El conjunto de los numeros reales, R,es no numerable. Sin embargo, por el teorema de Lowenheim-Skolem, la teorıa de primer orden deR es satisfacible en un modelo de cardinalidad numerable. Ası que no podemos contar en primerorden con un conjunto de enunciados que expresen la estructura de los reales. Necesitamos paraello nuevos recursos linguısticos, como los que nos proporciona la logica de segundo orden.

Hay una propiedad que marca la diferencia para capturar el orden de los reales. Se trata de lasiguiente. En cualquier conjunto (A,≤) totalmente ordenado y en el que hagamos una particion endos subconjuntos, A1 y A2, de modo que todo elemento de A1 sea anterior a todo elemento de A2,tenemos una de las siguientes situaciones:

(a) A1 tiene ultimo elemento, pero A2 no tiene primero.

(b) A1 no tiene ultimo elemento, pero A2 tiene primero.

Page 166: Logica Clasica de Predicados Computacional 2014 2015

158 CAPITULO 6. LOGICA DE PREDICADOS DE SEGUNDO ORDEN

(c) A1 no tiene ultimo elemento ni A2 tiene primero.

Si (c) es una situacion que no puede darse, decimos que R es completa. Esta propiedad (decomplecion) se expresa en segundo orden como sigue:

(∀P )[(

(∃x)P (x) ∧ (∃x)¬P (x) ∧ (∀x)(∀y)(((P (x) ∧ ¬P (y))→ x ≤ y

))→(

(∃x)(P (x) ∧ (∀y)((x ≤ y)→ ¬P (y)) ∨ (∃x)(¬P (x) ∧ (∀y)((y ≤ x)→ P (y)))]

En la recta real, el antecedente de la formula anterior expresa que dividimos la recta en dos mitades(damos un “corte”) y el consecuente expresa que o bien el primer segmento tiene un ultimo elementoo bien el segundo segmento tiene un primer elemento.

Por su parte, el resto de las propiedades que necesitamos para caracterizar el orden de los reales,sı son expresables en primer orden. La nocion de orden total es expresable. Una relacion binariaR es una relacion de orden total en A si es reflexiva, antisimetrica, transitiva y conexa, es decir:

(∀x)R(x, x) (R es reflexiva)

(∀x)(∀y)((R(x, y) ∧R(y, x))→ x = y

)(R es antisimetrica)

(∀x)(∀y)(∀z)((R(x, y) ∧R(y, z))→ R(x, z)

)(R es transitiva)

(∀x)(∀y)(R(x, y) ∨R(y, x)) (R es conexa)

Supongamos que la relacion R fuera, ademas, una relacion densa, lo cual es expresable en primerorden mediante

(∀x)(∀y)(R(x, y)→ (∃z)(R(x, z) ∧R(z, y)) 2

(entre cada par de elementos cualesquiera de un conjunto relacionados mediante R, siempre sepuede intercalar un tercero). Supongamos, ademas, que R cumpliera igualmente que en el conjuntosobre el que se define no hay primero ni ultimo respecto a dicha relacion. Esto es expresableen primer orden mediante (∀x)(∃y)R(y, x) y (∀x)(∃y)R(x, y) respectivamente. Estas propiedades(todas ellas expresables en primer orden menos una) definen un orden isomorfo al orden habitualen R. Es decir, el orden de los reales se puede caracterizar diciendo que es un orden total, denso,completo y sin inicio ni final.

IV) Incapacidad para expresar el principio de la identidad de los indiscernibles.

El principio de identidad de los indiscernibles de Leibniz establece que cualquier par de objetos conlas mismas propiedades son, en realidad, el mismo objeto. En primer orden no podemos cuantificarpropiedades, pero en segundo orden se expresarıa

(∀x)(∀y)((x = y)↔ (∀X)(X(x)↔ X(y))

)donde X es una variable predicativa monaria. Mas aun, esta formula muestra que el concepto deidentidad es definible en segundo orden.

6.1.3. Algunas cuestiones mas acerca de la logica de segundo orden

Hay propiedades de la logica de primer orden que no se conservan al pasar a la logica de segundoorden y otras que no se tenıan en primer orden que tampoco se logran con este paso. Destaquemos lassiguientes:

2Entre cada par de elementos cualesquiera de un conjunto relacionados mediante R, siempre se puede intercalarun tercero

Page 167: Logica Clasica de Predicados Computacional 2014 2015

6.1. LENGUAJES DE SEGUNDO ORDEN 159

1. No existe prueba efectiva de la validez de las formulas de segundo orden; es decir, la logica desegundo orden es indecidible, al igual que la de primer orden.

2. Hemos visto que el Teorema de Compacidad era la llave para mostrar la inexpresividad en primerorden de una serie de propiedades importantes como el orden de los naturales y otras. Si dichoteorema valiera en segundo orden podrıamos razonar con los mismos argumentos que hemos usadoen primer orden. Pero, como hemos visto, no es ası.las propiedades estudiadas se pueden expresar ensegundo orden, ası que podemos concluir que en esta logica no podemos contar con la compacidad,es decir, existen un conjunto infinito numerable e insatisfacible y, que sin embargo, todo subconjuntosuyo es satisfacible (en consecuencia, tal conjunto contendra al menos una fbf de segundo orden).

3. Una consecuencia de que no valga el teorema de compacidad, corolario de la correccion y comple-titud, es que no existen sistemas con un conjunto finito de axiomas en logica de segundo ordenque posean dichas propiedades. Sin embargo, el desarrollo de las logicas modales, muestra que haysistemas correctos y completos de logica de segundo orden relativos a determinados conjuntos deproposiciones de segundo orden.

4. Para mostrar que la logica de primer orden era incapaz de expresar el orden de los reales hemosusado el teorema de Lowenheim-Skolem. El mismo argumento podrıa exponerse en segundo orden,pero hemos visto que se puede caracterizar dicho orden, por lo cual el teorema de Lowenheim-Skolem no es aplicable en segundo orden.