Tema 2: Lógica de predicados (L1)
Diapositivas: 2. LógicaPredicados_2026-2027 · Tema anterior: Tema 1 - Lógica proposicional
Cómo leer esta nota
La lógica de predicados amplía la proposicional: todo lo del Tema 1 (conectivas, equivalencias, consecuencia lógica, resolución, deducción natural) sigue valiendo. Aquí están solo las novedades.
Por qué hace falta
La lógica proposicional se queda corta. "Todos los perros son buenos. Fido es un perro. Por tanto, Fido es bueno" es un razonamiento claramente correcto, pero en L0 serían tres proposiciones sin relación (, y ), y no se puede demostrar. Las proposiciones no permiten hablar de individuos ni de sus propiedades o relaciones.
La lógica de predicados mantiene las conectivas y añade constantes, variables, funciones, predicados y cuantificadores.
Sintaxis
Alfabeto
| Elemento | Qué representa | Ejemplos |
|---|---|---|
| Constantes (…) | Objetos concretos | Juan, Asturias, 2 |
| Variables (…) | Objetos cualesquiera | , |
| Funciones (…) | Referirse a un objeto a partir de otros | padreDe(), sumaDe(2, 3) |
| Predicados (…) | Propiedades y relaciones (dan V o F) | esBueno(), viveEn(, ) |
| Conectivas | Como en L0 | |
| Cuantificadores | Cómo se interpretan las variables | (para todo), (existe) |
La aridad es el número de argumentos de una función o de un predicado.
Términos y fórmulas
- Término: una constante, una variable o una función aplicada a términos. Ejemplos: Juan, , sumaDe(3, sumaDe(2, 2)). Un término designa un objeto; no es ni verdadero ni falso.
- Fórmula atómica: un predicado aplicado a términos. Ejemplos: , viveEn(Juan, ). Esto sí es verdadero o falso.
- Literal: una fórmula atómica o su negación.
- Fórmulas compuestas: con las conectivas, como en L0, y además, si es fórmula y una variable, y también lo son.
Prioridad: , y tienen la máxima prioridad, al mismo nivel. Después , , y , como en L0.
Variables libres y ligadas
- En o , es el ámbito (alcance) del cuantificador.
- Una aparición de una variable está ligada si está dentro del ámbito de un cuantificador sobre esa variable, y libre si no.
- Si una variable está dentro de varios cuantificadores sobre ella, la liga el más cercano.
- Fórmula cerrada (sentencia): no tiene ninguna variable libre.
Ejemplo: en , e están ligadas y está libre, así que la fórmula no es cerrada.
Formalizar con cuantificadores
- Elegir constantes, funciones y predicados (y escribir qué significan).
- Traducir cada frase.
La regla de oro
- va con : "Todos los estudiantes son elegantes" es .
- va con : "Hay un estudiante elegante" es .
significaría "todo el mundo es estudiante y elegante", casi nunca lo que se quiere decir.
| Frase | Fórmula |
|---|---|
| Todos los son | |
| Solo los son | |
| Algún es | |
| Ningún es | , o bien |
| Algún no es | , o bien |
El orden de los cuantificadores importa… si son distintos
- Dos del mismo tipo se pueden intercambiar: y .
- Un y un no:
- : "a todo el mundo le gusta alguien" (cada uno, el suyo).
- : "hay alguien que le gusta a todo el mundo".
Ejemplos de las diapositivas
Con : es un dragón, : es un piojo, : acosa a .
- Todo piojo acosa a algún dragón:
- Algunos piojos acosan a todos los dragones:
- Todo dragón es acosado por algún piojo:
Con : perro, : humano, : es amigo de .
- Hay algún perro que no es amigo de ningún humano:
- Los perros son amigos solo de los humanos:
Semántica
Una interpretación de una fórmula consiste en:
- Un dominio : un conjunto no vacío de objetos.
- Para cada constante , un objeto .
- Para cada función de aridad , una aplicación .
- Para cada predicado de aridad , una aplicación .
La misma fórmula puede ser verdadera en una interpretación y falsa en otra. Por ejemplo, puede hablar de jugadores de póker o de números impares.
Hay infinitas interpretaciones
Los dominios pueden ser cualquier conjunto, así que no se pueden usar tablas de verdad. Para probar la consecuencia lógica hacen falta métodos sintácticos: resolución y deducción natural.
Reglas semánticas de los cuantificadores (las conectivas funcionan igual que en L0):
- si para todo .
- si para algún .
💡 Evaluar en un dominio finito
En un dominio finito, es un "y" gigante y un "o" gigante. Con :
Con varios cuantificadores se desarrollan de fuera hacia dentro.
Clasificación y equivalencias
Las definiciones de fórmula válida, satisfacible e insatisfacible, equivalencia y consecuencia lógica son las mismas que en L0, cambiando "todas las filas de la tabla" por "todas las interpretaciones". También se mantienen todas las equivalencias de L0. Además:
| Ley | Equivalencia |
|---|---|
| Gran De Morgan | y |
| Mismo cuantificador | y |
| Gran distributividad | y |
| Distributividad restringida (si no aparece en ) | , y lo mismo con y con |
Lo que no se puede hacer
| Solo vale en un sentido | Contraejemplo del otro sentido |
|---|---|
| "Todos están felices o tristes" no implica "todos felices o todos tristes" | |
| "Existen perros y existen gatos" no implica "existe un perro que es gato" | |
| "Todos salen con alguien" no implica "alguien sale con todos" |
Resolución general
Es la misma idea que en L0: se prueba por refutación, viendo que es inconsistente. El método es correcto y completo. Se necesita pasar todo a forma clausal, y hay dos problemas nuevos: los cuantificadores (se resuelve con Skolem) y las variables (se resuelve con la unificación).
Forma normal de Skolem (FNS)
Una sentencia está en FNS si:
- todos los cuantificadores están al principio;
- no hay cuantificadores existenciales;
- el núcleo está en FNC.
Toda sentencia se puede pasar a FNS. La fórmula obtenida no es equivalente, pero sí equisatisfacible: es satisfacible si y solo si lo era . Para la resolución basta, porque lo que interesa es si el conjunto es inconsistente.
Pasos:
- Eliminar y (como en L0).
- Meter las negaciones hasta los átomos (De Morgan, doble negación y Gran De Morgan).
- Renombrar variables para que cada cuantificador tenga la suya: .
- Sacar todos los cuantificadores al principio, sin cambiar su orden (distributividad restringida).
- Eliminar los (skolemización):
- Si un no tiene ningún delante, se cambia por una constante de Skolem nueva: pasa a .
- Si tiene delante, se cambia por una función de Skolem nueva de esas variables: pasa a . El depende de cuál sea el .
- Pasar el núcleo a FNC (distributivas).
Forma clausal: se quitan los cuantificadores (todos son y se sobreentienden) y cada cláusula de la FNC se escribe por separado.
Ejemplo de las diapositivas
- Quitar y meter la :
- Renombrar las dos :
- Cuantificadores delante:
- Skolem ( sin delante → constante ):
- FNC:
Forma clausal:
Las constantes de Skolem tienen que ser nuevas
Si la constante ya aparece en otra cláusula del problema, se usa otra (, …). Si no, se estaría diciendo que ese "alguien" es precisamente .
Sustitución y unificación
¿Por qué no basta la resolución de L0? es inconsistente, pero y no son literales complementarios "tal cual". Hay que particularizar en .
- Una sustitución cambia cada variable por el término en toda la expresión. Ejemplo: con , pasa a ser .
- Una variable no se puede sustituir por un término que la contenga: no vale.
- Composición : se aplica a los términos de y se añaden los pares de cuyas variables no estén en .
- Unificar es encontrar una sustitución que deje varias expresiones idénticas. El unificador más general (umg) es el que particulariza lo mínimo.
- . también unifica, pero particulariza de más.
- .
- : predicados distintos, no unifican.
Algoritmo de unificación:
- Empezar con la sustitución vacía.
- Recorrer las expresiones de izquierda a derecha hasta el primer desacuerdo (el primer símbolo distinto).
- Si el desacuerdo es entre dos términos que no son variables con distinto símbolo de función, o entre una variable y un término que la contiene: no son unificables.
- Si no, formar con la variable y el término del desacuerdo, componerlo con la sustitución que se lleva y aplicarlo.
- Repetir hasta que las expresiones sean idénticas. La sustitución acumulada es el umg.
y
- Desacuerdo →
- Desacuerdo → ; acumulado:
- Desacuerdo →
- Quedan idénticas: .
Renombrar variables antes de unificar
Las variables de cláusulas distintas son independientes. y no unifican tal cual, pero renombrando una, y , sí: .
Regla de resolución general
De y , donde y son del mismo predicado y unificables con :
Se unifican los dos literales, se tachan y se aplica a lo que queda. También se pueden unificar varios literales de golpe ().
Algoritmo: igual que en L0, pero renombrando las variables de una de las dos cláusulas antes de resolver (si las dos tienen variables) y aplicando el umg. Se para al obtener (refutable: el razonamiento es correcto) o cuando no se puede seguir.
Todos los perros son animales, todos los animales mueren, Fido es un perro ⊨ Fido muere
Forma clausal de las premisas y de la conclusión negada:
- Resolver las dos primeras con ⟹
- Con y ⟹
- Con ⟹
Conjunto inconsistente: el razonamiento es correcto.
Estrategias
El algoritmo es no determinista: su eficacia depende de qué par de cláusulas y qué literales se eligen en cada paso.
- A lo ancho: calcular todas las resolventes de cada nivel. Es completo, pero muy costoso.
- Conjunto soporte: resolver siempre usando al menos una cláusula que venga de la negación de la conclusión o de una resolvente suya. Su versión más importante es la resolución SLD, la que usa Prolog.
Deducción natural
Se usan las mismas reglas que en L0 y se añaden dos por cuantificador:
| Cuantificador | Introducción | Eliminación |
|---|---|---|
| Si para un libre (arbitrario) se llega a , se deduce | De se deduce para cualquier término | |
| De se deduce | De : se abre una caja suponiendo con libre. Si dentro se llega a sin , se deduce |
Qué significa " libre"
El término no puede aparecer en ninguna caja anterior que siga abierta, ni en las premisas. Es un objeto "cualquiera" del que no se sabe nada más.
Error típico: de y no se puede deducir . Si se abre una caja con , luego no se puede suponer con la misma , porque ya no es libre. Que exista algo con y algo con no significa que sea lo mismo.
- — premisa
- — premisa
- — E 1
- — E 2, 3
- — I 4