Clase 10 · De lo que sabemos a lo que podemos demostrar

Pregunta de la clase

Si una base de conocimiento contiene reglas y hechos, ¿cómo obtenemos consecuencias nuevas sin revisar manualmente todos los mundos posibles? La ruta de hoy va de modelos y satisfacibilidad a reglas de inferencia, encadenamiento hacia adelante, cláusulas de Horn, resolución y forma normal conjuntiva (FNC/CNF). La última parte muestra qué le falta a la lógica proposicional para hablar de objetos y de «todos» o «existe».

Puente con la clase anterior: ya sabemos que un modelo es una asignación de verdad, que reúne los modelos compatibles con la base y que significa . Ahora buscamos procedimientos para decidir o demostrar esa consecuencia.

1. Una historia antes de los símbolos

Imagina un agente que recibe estas tres frases:

  1. «Está lloviendo».
  2. «Si llueve, el suelo se moja».
  3. «Si el suelo está mojado, puede estar resbaloso».

Si interpretamos la tercera como una regla categórica («si está mojado, está resbaloso»), el agente puede concluir primero mojado y después resbaloso. No necesita observar directamente el suelo: combina información. La precisión importa: si la regla original dijera solamente «puede estar resbaloso», no autorizaría una conclusión lógica segura.

Tomemos «llueve», «el suelo está mojado» y «el suelo está resbaloso». Entonces:

flowchart LR
  R["Hecho: R"] --> MP1["Modus ponens"]
  RM["Regla: R → M"] --> MP1
  MP1 --> M["Derivamos M"]
  M --> MP2["Modus ponens"]
  MS["Regla: M → S"] --> MP2
  MP2 --> S["Derivamos S"]

La flecha representa una condición suficiente: si es verdadero, también debe serlo. De solo no podemos concluir ; el suelo pudo mojarse por otra causa. Esta es la falacia de afirmar el consecuente.

2. Repaso semántico: ¿qué significan «saber» y «no saber»?

Un modelo asigna verdadero o falso a cada átomo. Una base es satisfactible cuando tiene al menos un modelo: . En el ejemplo, obliga a y , así que la base tiene un modelo y vincula .

Para consultar , basta comparar dos posibilidades:

PruebaResultadoInterpretación si es satisfactible
es insatisfactible está garantizada: Ask(f) responde sí.
es insatisfactible está descartada: Ask(f) responde no.
Ambas son satisfactiblesNinguna consecuenciaAsk(f) responde no sé; es contingente respecto a .

Por qué funciona la primera prueba: si no hay ningún mundo donde sea verdadera y falsa, todos los mundos de satisfacen . Esta es la equivalencia de refutación:

Tell(f) usa la misma distinción: si , no aprende nada nuevo; si , añadir introduce una contradicción; si ninguna se cumple, elimina algunos mundos posibles y aprende algo. Cuidado: si ya es insatisfactible, tanto como son verdaderas por vacuidad. Por eso el cuadro de tres respuestas supone una base consistente.

Laboratorio de modelos y consultas

En el laboratorio de la clase previa puedes alternar valores y observar qué mundos sobreviven al agregar fórmulas. Úsalo para comprobar por qué «no sé» significa que sobreviven tanto un mundo con como otro con .

Si no carga: imagina . Hay modelos con verdadero y modelos con falso; por tanto la base no vincula ni ni .

3. De la semántica a las pruebas: modus ponens

Una regla de inferencia es un patrón sintáctico que permite escribir una conclusión a partir de premisas. No requiere enumerar modelos cada vez que se usa:

En , primero sustituimos y obtenemos . Luego sustituimos y obtenemos . Escribimos para decir « es derivable con las reglas del sistema»; significa « es verdadera en todos los modelos de ».

Dos relaciones distintas

habla de una prueba construida con reglas; habla de todos los modelos. Un sistema es correcto (o sólido) si . Es completo para la clase de fórmulas considerada si .

Modus ponens es correcto: no puede producir una conclusión falsa si sus premisas son verdaderas. Usado como única regla para fórmulas proposicionales arbitrarias, es incompleto. Por ejemplo, de y se sigue , pero ninguna de las dos premisas tiene la forma necesaria para aplicar modus ponens.

La mención de los teoremas de incompletitud de Gödel en la diapositiva 9 tiene un alcance diferente: trata de sistemas formales suficientemente expresivos para cierta aritmética. No dice que la lógica proposicional sea incompleta. Para ella sí hay procedimientos de inferencia correctos y completos, como resolución.

4. Encadenamiento hacia adelante: hacer explícitas las consecuencias

El algoritmo empieza con hechos y revisa las reglas. Cuando todas las premisas de una regla ya están disponibles, añade su conclusión. Repite hasta llegar a la consulta o hasta que no aparezca ningún hecho nuevo.

hechos := hechos iniciales
repetir
    cambio := falso
    para cada regla (p₁ ∧ ... ∧ pₖ → q):
        si todos pᵢ están en hechos y q no está en hechos:
            añadir q; registrar qué regla lo justificó
            cambio := verdadero
hasta que cambio = falso

Con , y , el rastro es . Si solo hay un número finito de átomos, el proceso termina: cada vuelta útil agrega al menos un átomo nuevo y nunca borra los anteriores. El orden de las reglas puede cambiar el orden de descubrimiento, pero no el conjunto final de hechos derivables en una base de cláusulas definidas.

Laboratorio 1 · Construir una prueba hacia adelante

Activa o desactiva los hechos iniciales. Después avanza una regla a la vez y observa qué premisas faltan, qué hecho aparece y cómo se forma su justificación. Prueba especialmente el caso donde falta Día laboral: Tráfico ya no sale de Mojado solo.

Si no carga: con y (día laboral), , y obtenemos , luego y . Sin , queda sin demostrar; esto no equivale a demostrar .

5. Cláusulas de Horn: cuándo basta una regla sencilla

Para formalizar el algoritmo anterior restringimos la forma de las reglas. Un literal es un átomo o su negación . Una cláusula es una disyunción de literales. Una cláusula de Horn tiene a lo sumo un literal positivo.

FormaComo reglaComo cláusulaUso
HechoPunto de partida; caso de cero premisas.
DefinidaDerivar .
De meta o restricciónDetectar una combinación prohibida.

Aquí significa falso. Una cláusula definida tiene exactamente un literal positivo; una cláusula de meta tiene ninguno. Por ejemplo, prohíbe que «llueve» y «hay accidente» sean ambas verdaderas. En cambio, tiene dos literales positivos y no es Horn.

Alcance de la completitud: con hechos y reglas definidas de Horn, el encadenamiento hacia adelante con modus ponens generalizado encuentra todos los átomos positivos implicados por la base. Si además hay cláusulas de meta, detectar que alguna tiene todas sus premisas verdaderas permite reconocer una contradicción. Esta afirmación es más precisa que decir simplemente «modus ponens es completo para cualquier uso de Horn».

Un algoritmo bien implementado mantiene un contador de premisas aún no satisfechas para cada regla y una lista de reglas que dependen de cada átomo. Así procesa cada aparición de premisa una vez, en tiempo lineal en el tamaño de la base para este problema de implicación proposicional Horn. Revisar ciegamente todas las reglas en cada vuelta puede costar más.

6. ¿Y si la información contiene alternativas? Resolución

Supón que sabemos («llueve o nieva») y («si nieva, hay tráfico»). No podemos aplicar modus ponens directamente a , porque no sabemos que sea verdadera. Sin embargo, podemos concluir :

La intuición es por casos. Si es falsa, la primera cláusula exige . Si es verdadera, la segunda exige . En ambos casos se cumple . La regla general es:

y se llaman literales complementarios; es el resolvente. Si y no contienen ningún literal, la conclusión es la cláusula vacía , que no puede ser verdadera en ningún modelo.

Ejemplo completo: demostrar por refutación

Base: . Consulta: . No agregamos ; agregamos su negación y buscamos contradicción.

NºCláusulaOrigen
1Eliminar de .
2Hecho de .
3Hecho de .
4Negación de la consulta.
5Resolver 1 y 2 sobre .
6Resolver 5 y 3 sobre .
7Resolver 6 y 4 sobre .

Como conduce a , no tiene modelos y . Observa que la premisa es esencial: sin ella, podría ser verdadera y falsa.

Laboratorio 2 · Resolver cláusulas hasta cerrar la prueba

Selecciona dos cláusulas con literales complementarios y el átomo que cancelarás. El laboratorio forma el resolvente, descarta tautologías y muestra cuándo aparece la cláusula vacía. El botón de pista propone un paso válido, pero puedes explorar otras parejas.

Si no carga: sigue las filas 1–7 de la tabla. Cada paso cancela un par complementario; obtener significa que la hipótesis era imposible junto con .

7. Forma normal conjuntiva: preparar cualquier fórmula para resolución

Resolución opera sobre cláusulas, de modo que expresamos la fórmula como una conjunción de disyunciones de literales:

Esta es la forma normal conjuntiva (FNC; CNF en inglés). Toda fórmula proposicional puede transformarse en una FNC lógicamente equivalente usando estas identidades:

  1. Eliminar bicondicional: .
  2. Eliminar implicaciones: .
  3. Empujar negaciones hacia los átomos: y .
  4. Cancelar doble negación: .
  5. Distribuir sobre : .

Conversión trabajada, sin saltos

La diapositiva propone summer → snow → bizzare. Para evitar ambigüedad de asociación, fijemos expresamente :

El resultado ya es una cláusula y, por tanto, una FNC de una sola cláusula. Aquí no hace falta distribuir. Si en cambio la intención era , el resultado sería distinto:

Este par de resultados muestra por qué los paréntesis importan. Para ver de verdad el paso distributivo, toma :

Límite práctico

Distribuir repetidamente puede hacer crecer mucho la fórmula. En resolución por refutación se puede usar una transformación de Tseitin con variables auxiliares para obtener tamaño lineal, pero esa transformación preserva satisfacibilidad, no necesariamente equivalencia sobre un vocabulario ampliado sin proyectar las auxiliares. Las diapositivas usan las equivalencias directas.

Procedimiento completo de resolución

flowchart TD
  Q["Queremos decidir KB ⊨ f"] --> N["Añadir ¬f a KB"]
  N --> F["Convertir a FNC y separar cláusulas"]
  F --> R["Resolver pares de cláusulas"]
  R --> E{"¿Aparece □?"}
  E -->|Sí| Y["KB ⊨ f"]
  E -->|No: cláusulas nuevas| R
  E -->|No: ya no hay novedades| Z["KB ⊭ f; existe un modelo de KB ∧ ¬f"]

Para una base proposicional finita, resolución por refutación es correcta y completa: si , puede derivarse de . El peor caso general puede requerir tiempo exponencial. Esto no significa que cada instancia tarde tiempo exponencial; muchas pruebas concretas son cortas.

8. Comparación y criterio de elección

MétodoEntradas apropiadasQué demuestraCoste y límite
Encadenamiento + modus ponensHechos y reglas definidas de HornÁtomos positivos implicados; con cláusulas de meta, contradiccionesImplementación eficiente lineal en el tamaño de la base; no cubre disyunciones positivas generales.
Resolución por refutaciónCláusulas generales, tras pasar a FNCConsecuencias proposicionales arbitrariasCompleta para lógica proposicional; peor caso exponencial.

Regla para estudiar: si la base parece un programa de reglas , intenta primero encadenamiento. Si contiene alternativas como y debes demostrar una consulta general, piensa en FNC y resolución. La elección del método depende de la forma del conocimiento y de la pregunta.

9. Dónde termina la lógica proposicional

Una letra proposicional representa una oración completa. Podemos crear «Alice sabe IA» y «Bob sabe IA», y escribir . Pero la lógica proposicional no ve que ambas oraciones comparten la relación sabe y el objeto IA. Tampoco tiene variables ni cuantificadores para escribir «todos los estudiantes» con un único esquema.

La lógica de primer orden introduce objetos, predicados, funciones, variables y cuantificadores:

Lenguaje naturalEjemplo de formalización de primer ordenQué agrega
Alice y Bob saben IA.Predicado con dos argumentos.
Todos los estudiantes saben IA.Variable y cuantificador universal.
Todo entero par mayor que 2 es suma de dos primos.Cuantificadores anidados, predicados y función/suma.

La última oración enuncia la conjetura de Goldbach: formalizarla no implica haberla demostrado. Los paréntesis fijan además el alcance correcto de los cuantificadores y conectivos. Esta sección es un adelanto de la siguiente clase, no un desarrollo de su semántica.

10. Comprueba tu comprensión

  1. Inferencia y error común. De y , ¿puedes concluir ? No; pudo tener otra causa. De y , sí concluyes .
  2. Tres respuestas. Para , ¿qué responde Ask(P)? No sé: existen modelos compatibles con y con .
  3. Horn. ¿ es Horn? Sí, tiene un solo literal positivo y equivale a . ¿? No, tiene dos.
  4. Resolución. Resuelve con . Resultado: .
  5. FNC. Convierte . Resultado: .
  6. Refutación. Si tiene un modelo, ¿qué sabes? Que ; ese modelo es un contraejemplo.

Mapa final de ideas

flowchart LR
  KB["KB: hechos y reglas"] --> SEM["Modelos: ⊨"]
  KB --> PR["Pruebas: ⊢"]
  SEM --> SAT["KB ⊨ f ⇔ KB ∧ ¬f insatisfactible"]
  PR --> H["Horn → encadenamiento"]
  PR --> RES["General → FNC → resolución"]
  H --> GOOD["Derivación correcta y completa para átomos en Horn definida"]
  RES --> GOOD2["Refutación correcta y completa para proposicional"]

Fuente principal: presentación del profesor Carlos Hernández, Clase 10: Lógica proposicional, 31 diapositivas, 17 de septiembre de 2026. Las precisiones sobre el alcance de completitud, la base inconsistente, la asociación de implicaciones y la conjetura de Goldbach se explicitan aquí para evitar inferencias equivocadas.