Saltar al contenido principal
Tema 1–2 · Lógica Proposicional
Volver a LÓGICA Y ESTRUCTURAS DISCRETAS (INGENIERÍA EN IA)
LÓGICA Y ESTRUCTURAS DISCRETAS (INGENIERÍA EN IA)13 min de lectura

Tema 1–2 · Lógica Proposicional

Mapa del tema

Cubre los dos bloques del temario: (1) Lenguaje y semántica — fórmulas, conectivas, árboles sintácticos, formalización, tablas de verdad, equivalencias y formas normales — y (2) Razonamiento — satisfacibilidad, tautologías, tableaux semánticos y consecuencia lógica.

logica_prop_mapa


1. Conceptos Fundamentales (Explicación Clara)

1.1 ¿Qué es una proposición?

Una proposición es una afirmación que solo puede ser verdadera (1) o falsa (0), nunca ambas cosas a la vez. "Llueve" es una proposición; "¿Llueve?" o "¡Cierra la puerta!" no lo son.

Analogía

Piensa en cada proposición como un interruptor de la luz: solo tiene dos estados, encendido (1) o apagado (0). La lógica proposicional estudia cómo combinar interruptores con "cables" (las conectivas) para obtener circuitos más complejos.

1.2 El lenguaje: cómo se construyen las fórmulas

El lenguaje está formado por fórmulas, construidas con estas reglas (definición recursiva):

  1. Las variables proposicionales p,q,r,…p, q, r, \dots son fórmulas (fórmulas atómicas).
  2. Las constantes ⊤\top (siempre verdadero) y ⊥\bot (siempre falso) son fórmulas.
  3. Si α\alpha y β\beta son fórmulas, también lo son ¬α\neg\alpha, α∧β\alpha\land\beta, α∨β\alpha\lor\beta, α→β\alpha\to\beta, α↔β\alpha\leftrightarrow\beta.
ConectivaSímboloNombreSe lee
Negación¬\negMonaria"no"
Conjunción∧\landBinaria"y"
Disyunción∨\lorBinaria"o" (inclusivo)
Implicación→\toBinaria"si… entonces…"
Bicondicional↔\leftrightarrowBinaria"si y sólo si"

Precedencia (de mayor a menor)

¬  >  ∧  >  ∨  >  →  >  ↔\neg \;>\; \land \;>\; \lor \;>\; \to \;>\; \leftrightarrow Así, ¬p→q∨r\neg p \to q \lor r se lee como (¬p)→(q∨r)(\neg p) \to (q \lor r). Ante la duda, usa paréntesis.

1.3 Árboles sintácticos

Toda fórmula tiene una estructura de árbol: la raíz es la conectiva principal (la última que se aplica) y las hojas son las variables. Identificar la conectiva principal es la habilidad clave para tablas de verdad, formas normales y tableaux.

logica_prop_arboles_sintacticos

1.4 Formalización: del lenguaje natural a fórmulas

Es la parte donde más se falla en el examen. La trampa principal está en el condicional.

ConectivaExpresiones en castellano
¬α\neg\alphano α\alpha · no es el caso que α\alpha · no es cierto que α\alpha
α∧β\alpha\land\betaα\alpha y β\beta · α\alpha pero β\beta · α\alpha aunque β\beta
α∨β\alpha\lor\betaα\alpha o β\beta · bien α\alpha, bien β\beta · ya α\alpha, ya β\beta
α→β\alpha\to\betasi α\alpha, (entonces) β\beta · β\beta, si α\alpha · α\alpha sólo si β\beta · sólo si β\beta, α\alpha · es suficiente α\alpha para β\beta · es necesario β\beta para α\alpha
α↔β\alpha\leftrightarrow\betaα\alpha si y sólo si β\beta · α\alpha es condición suficiente y necesaria de β\beta

La regla de oro del condicional

  • Lo que va tras "si" (o lo suficiente) → antecedente (izquierda de →\to).
  • Lo que va tras "sólo si" (o lo necesario) → consecuente (derecha de →\to).

"Sólo si te entrenas (pp), puedes ganar (qq)" → q→pq \to p (entrenar es necesario, no suficiente). "Es suficiente acertar los dígitos (pp) para tener premio (qq)" → p→qp \to q.

Más ejemplos del temario:

  • "La lógica es fácil (pp), pero hay que estudiar (qq)" → p∧qp \land q
  • "No es cierto que haya tomado vino (pp) o cerveza (qq)" → ¬(p∨q)\neg(p \lor q)
  • "Sólo si llueve (pp), tomo un taxi (qq)" → q→pq \to p

1.5 Semántica: interpretaciones y valores de verdad

Una interpretación II asigna un valor (0 o 1) a cada variable. Con nn variables hay 2n2^n interpretaciones posibles: una por fila de la tabla de verdad.

La propagación funcional consiste en calcular el valor de la fórmula subiendo por el árbol sintáctico, desde las hojas hasta la raíz.

El condicional "raro"

α→β\alpha\to\beta solo es falso cuando α=1\alpha=1 y β=0\beta=0. Si el antecedente es falso, el condicional es verdadero ("verdad vacía"). Analogía: "Si apruebas, te invito a cenar". Solo mientes si apruebas y no te invito. Si suspendes, hagas lo que hagas, no has incumplido la promesa.

1.6 Equivalencia lógica

Dos fórmulas son equivalentes (α≡β\alpha\equiv\beta) cuando son verdaderas exactamente en las mismas interpretaciones (mismas columnas en la tabla de verdad). Es una relación reflexiva, simétrica y transitiva (de equivalencia).

Principio de reemplazo: si α≡β\alpha\equiv\beta y α\alpha aparece dentro de una fórmula γ\gamma, sustituir α\alpha por β\beta da una fórmula equivalente a γ\gamma. Es lo que nos permite "operar" con fórmulas como con álgebra.

1.7 Formas normales

  • Literal: una variable o su negación (pp, ¬p\neg p).
  • Conjunción elemental: conjunción de literales (p∧¬q∧rp\land\neg q\land r).
  • Disyunción elemental (o cláusula): disyunción de literales (¬p∨q\neg p\lor q).
  • FNC (Forma Normal Conjuntiva): conjunción de disyunciones → (…∨…)∧(…∨…)(\ldots\lor\ldots)\land(\ldots\lor\ldots)
  • FND (Forma Normal Disyuntiva): disyunción de conjunciones → (…∧…)∨(…∧…)(\ldots\land\ldots)\lor(\ldots\land\ldots)

Para qué sirven

  • La FND dice de un vistazo cuándo es verdadera la fórmula: basta con que una conjunción lo sea.
  • La FNC dice de un vistazo cuándo es falsa: basta con que falle una cláusula (todos sus literales a 0).

Algoritmo (4 pasos, en este orden):

logica_prop_algoritmo

1.8 Satisfacibilidad, tautologías y contradicciones

logica_prop_satisfacibilidad

  • Satisfacible: existe al menos una interpretación que la hace verdadera.
  • Conjunto satisfacible: existe una interpretación que hace verdaderas todas sus fórmulas a la vez.
  • Tautología (⊨A\models A): verdadera en todas las interpretaciones. Todas son equivalentes a ⊤\top.
  • Contradicción: falsa en todas. Todas son equivalentes a ⊥\bot.

Las preguntas trampa del temario (expansiones y reducciones)

Si el conjunto es…¿y si añado fórmulas (expansión)?¿y si quito fórmulas (reducción)?
SatisfaciblePuede dejar de serloSigue siéndolo ✅
InsatisfacibleSigue siéndolo ✅Puede dejar de serlo

Intuición: añadir fórmulas = añadir restricciones. Más restricciones nunca "arreglan" algo imposible, y menos restricciones nunca "rompen" algo posible.

1.9 Tableaux semánticos

Un tableau es un método de árbol para decidir si un conjunto de fórmulas es satisfacible sin hacer la tabla de verdad completa (que con 5 variables ya tiene 32 filas).

Analogía: un detective que busca un mundo posible

El tableau intenta construir un mundo donde todas las fórmulas sean verdad. Cada rama es una "hipótesis de mundo". Cuando una rama contiene una contradicción (λ\lambda y ¬λ\neg\lambda), esa hipótesis muere (rama cerrada ⊗). Si todas mueren, no existe ningún mundo posible: el conjunto es insatisfacible.

  • Fórmulas α (conjuntivas): verdaderas si ambas componentes lo son → se añaden en la misma rama (expansión lineal).
  • Fórmulas β (disyuntivas): verdaderas si al menos una componente lo es → la rama se bifurca.
  • σ (doble negación): de ¬¬λ\neg\neg\lambda se pasa a λ\lambda.
  • Cierre ⊗: aparecen λ\lambda y ¬λ\neg\lambda en la misma rama.

Estrategia

Aplica primero las reglas α (no ramifican) y después las β. El árbol queda mucho más pequeño.

1.10 Consecuencia lógica

α\alpha es consecuencia lógica de Γ\Gamma (Γ⊨α\Gamma\models\alpha) si toda interpretación que hace verdaderas las premisas de Γ\Gamma también hace verdadera α\alpha. Es la formalización de "razonamiento válido".

La falacia de la presentación de la asignatura

"Si es mamífero (AA), es animal (BB). No es mamífero (¬A\neg A). Luego no es animal (¬B\neg B)." {A→B, ¬A}⊭¬B\{A\to B,\ \neg A\}\not\models\neg B: la interpretación A=0,B=1A=0, B=1 (un pez) hace verdaderas las premisas y falsa la conclusión. Es la falacia de negación del antecedente.


2. Fórmulas y Formalismo Matemático

2.1 Tablas de verdad de las conectivas

α\alphaβ\beta¬α\neg\alphaα∧β\alpha\land\betaα∨β\alpha\lor\betaα→β\alpha\to\betaα↔β\alpha\leftrightarrow\beta
1101111
1000100
0110110
0010011

Truco para recordar

  • ∧\land: solo es 1 si todo es 1.
  • ∨\lor: solo es 0 si todo es 0.
  • →\to: solo es 0 en la fila 1→01\to0.
  • ↔\leftrightarrow: es 1 cuando ambos valores coinciden.

2.2 Tabla de verdad de una fórmula compuesta

Con nn variables: 2n2^n filas. Ejemplo del temario: ¬(p∧q)→r∨p\neg(p\land q)\to r\lor p.

ppqqrrp∧qp\land q¬(p∧q)\neg(p\land q)r∨pr\lor p¬(p∧q)→r∨p\neg(p\land q)\to r\lor p
1111011
1101011
1010111
1000111
0110111
0100100
0010111
0000100

→ Fórmula contingente (satisfacible pero no tautología). Es falsa justo cuando p=0p=0 y r=0r=0.

2.3 Esquemas de equivalencia (chuleta)

Doble negación y elementos neutros/absorbentes

¬¬X≡X\neg\neg X\equiv X

Con sí mismaTercio excluso / no contradicciónCon ⊥\botCon ⊤\top
X∨X≡XX\lor X\equiv XX∨¬X≡⊤X\lor\neg X\equiv\topX∨⊥≡XX\lor\bot\equiv XX∨⊤≡⊤X\lor\top\equiv\top
X∧X≡XX\land X\equiv XX∧¬X≡⊥X\land\neg X\equiv\botX∧⊥≡⊥X\land\bot\equiv\botX∧⊤≡XX\land\top\equiv X

Conmutativa, asociativa, absorción, distributiva

X∨Y≡Y∨XX∨(Y∨Z)≡(X∨Y)∨ZX∧Y≡Y∧XX∧(Y∧Z)≡(X∧Y)∧ZX∨(Y∧X)≡XX∨(Y∧Z)≡(X∨Y)∧(X∨Z)X∧(Y∨X)≡XX∧(Y∨Z)≡(X∧Y)∨(X∧Z)\begin{aligned} X\lor Y &\equiv Y\lor X & X\lor(Y\lor Z)&\equiv(X\lor Y)\lor Z\\ X\land Y &\equiv Y\land X & X\land(Y\land Z)&\equiv(X\land Y)\land Z\\ X\lor(Y\land X) &\equiv X & X\lor(Y\land Z)&\equiv(X\lor Y)\land(X\lor Z)\\ X\land(Y\lor X) &\equiv X & X\land(Y\lor Z)&\equiv(X\land Y)\lor(X\land Z) \end{aligned}

De Morgan, condicional y bicondicional ⭐ (las más usadas)

¬(X∧Y)≡¬X∨¬Y¬(X∨Y)≡¬X∧¬YX→Y≡¬X∨YX→Y≡¬Y→¬X(contrarrecıˊproco)X↔Y≡(X→Y)∧(Y→X)X↔Y≡(X∧Y)∨(¬X∧¬Y)\begin{aligned} \neg(X\land Y)&\equiv\neg X\lor\neg Y & \neg(X\lor Y)&\equiv\neg X\land\neg Y\\ X\to Y&\equiv\neg X\lor Y & X\to Y&\equiv\neg Y\to\neg X \quad\text{(contrarrecíproco)}\\ X\leftrightarrow Y&\equiv(X\to Y)\land(Y\to X) & X\leftrightarrow Y&\equiv(X\land Y)\lor(\neg X\land\neg Y) \end{aligned}

Derivadas útiles para el test

¬(X→Y)≡X∧¬Y¬(X↔Y)≡(X∧¬Y)∨(¬X∧Y)\neg(X\to Y)\equiv X\land\neg Y \qquad \neg(X\leftrightarrow Y)\equiv(X\land\neg Y)\lor(\neg X\land Y) Ojo: X→Y≢Y→XX\to Y\not\equiv Y\to X (recíproco) y X→Y≢¬X→¬YX\to Y\not\equiv\neg X\to\neg Y (contrario). Solo el contrarrecíproco es equivalente.

2.4 Propiedades formales de la satisfacibilidad

  • Si A≡BA\equiv B, o ambas son satisfacibles o ninguna lo es.
  • {A,B,…,Z}\{A,B,\dots,Z\} es satisfacible   ⟺  \iff A∧B∧⋯∧ZA\land B\land\dots\land Z es satisfacible.
  • AA es satisfacible   ⟺  \iff FNC(A)FNC(A) lo es   ⟺  \iff FND(A)FND(A) lo es.
  • Si A≡BA\equiv B entonces ⊨A↔B\models A\leftrightarrow B. Así, cada equivalencia se convierte en un bicondicional tautológico: ⊨¬(A∧B)↔(¬A∨¬B)\models\neg(A\land B)\leftrightarrow(\neg A\lor\neg B).

Relaciones clave entre conceptos (para preguntas de test):

A es tautologıˊa  ⟺  ¬A es insatisfacibleA es satisfacible  ⟺  ¬A no es tautologıˊaΓ⊨α  ⟺  Γ∪{¬α} es insatisfacible{A1,…,An}⊨B  ⟺  ⊨A1∧⋯∧An→B\begin{aligned} A \text{ es tautología} &\iff \neg A \text{ es insatisfacible}\\ A \text{ es satisfacible} &\iff \neg A \text{ no es tautología}\\ \Gamma\models\alpha &\iff \Gamma\cup\{\neg\alpha\}\text{ es insatisfacible}\\ \{A_1,\dots,A_n\}\models B &\iff \models A_1\land\dots\land A_n\to B \end{aligned}

2.5 Tabla de reglas de tableaux

Tipo α (no ramifica)α1\alpha_1α2\alpha_2
φ∧ψ\varphi\land\psiφ\varphiψ\psi
¬(φ∨ψ)\neg(\varphi\lor\psi)¬φ\neg\varphi¬ψ\neg\psi
¬(φ→ψ)\neg(\varphi\to\psi)φ\varphi¬ψ\neg\psi
Tipo β (ramifica)β1\beta_1β2\beta_2
φ∨ψ\varphi\lor\psiφ\varphiψ\psi
¬(φ∧ψ)\neg(\varphi\land\psi)¬φ\neg\varphi¬ψ\neg\psi
φ→ψ\varphi\to\psi¬φ\neg\varphiψ\psi
φ↔ψ\varphi\leftrightarrow\psiφ∧ψ\varphi\land\psi¬φ∧¬ψ\neg\varphi\land\neg\psi
¬(φ↔ψ)\neg(\varphi\leftrightarrow\psi)φ∧¬ψ\varphi\land\neg\psi¬φ∧ψ\neg\varphi\land\psi
Tipo σResultado
¬¬λ\neg\neg\lambdaλ\lambda

logica_prop_tablas_tableaux

Teoremas fundamentales de tableaux

Corrección y completitud

  1. Γ\Gamma es satisfacible   ⟺  \iff el tableau de Γ\Gamma es abierto (queda alguna rama sin cerrar).
  2. Si hay una rama completa y abierta, sus literales definen una interpretación que satisface Γ\Gamma (las variables que no aparezcan pueden tomar cualquier valor).

Usos del tableau según lo que preguntan:

Quiero saber si…Hago el tableau de…Respuesta
Γ\Gamma es satisfacibleΓ\GammaAbierto → sí
AA es contradicción{A}\{A\}Cerrado → sí
AA es tautología{¬A}\{\neg A\}Cerrado → sí
Γ⊨α\Gamma\models\alphaΓ∪{¬α}\Gamma\cup\{\neg\alpha\}Cerrado → sí

2.6 Propiedades de la consecuencia lógica

Reflexividad:Γ∪{α}⊨αMonotonıˊa:Γ⊨α  ⇒  Γ∪Λ⊨αTransitividad:Γ⊨α y {α}⊨β  ⇒  Γ⊨β\begin{aligned} &\textbf{Reflexividad:} && \Gamma\cup\{\alpha\}\models\alpha\\ &\textbf{Monotonía:} && \Gamma\models\alpha \;\Rightarrow\; \Gamma\cup\Lambda\models\alpha\\ &\textbf{Transitividad:} && \Gamma\models\alpha \text{ y } \{\alpha\}\models\beta \;\Rightarrow\; \Gamma\models\beta \end{aligned}

Caso límite

Si Γ\Gamma es insatisfacible, entonces Γ⊨α\Gamma\models\alpha para cualquier α\alpha (no hay ninguna interpretación que satisfaga Γ\Gamma y "falle" en α\alpha). De una contradicción se deduce cualquier cosa.


3. Ejemplos Aplicados a la Inteligencia Artificial (¡Crucial!)

3.1 Sistemas expertos y bases de conocimiento

Un sistema experto clásico guarda el conocimiento como una base de conocimiento (KB): un conjunto Γ\Gamma de fórmulas. Responder una pregunta α\alpha es comprobar si KB⊨αKB\models\alpha.

text
KB (diagnóstico de red — muy en tu terreno de soporte IT):
  R1: sin_enlace → cable_suelto ∨ switch_caido
  R2: switch_caido → otros_equipos_sin_red
  R3: ¬otros_equipos_sin_red
  H1: sin_enlace
Pregunta: ¿KB ⊨ cable_suelto ?

Formalizado (ee=sin_enlace, cc=cable_suelto, ss=switch_caido, oo=otros_sin_red):

KB={e→c∨s,  s→o,  ¬o,  e}⊨c ?KB=\{e\to c\lor s,\ \ s\to o,\ \ \neg o,\ \ e\}\models c\,?

Tableau de KB∪{¬c}KB\cup\{\neg c\}: de s→os\to o y ¬o\neg o se cierra la rama ss; de e→c∨se\to c\lor s y ee solo queda c∨sc\lor s, y ambas ramas se cierran (cc con ¬c\neg c; ss con lo anterior). Tableau cerrado → el sistema concluye "cable suelto". Esto es exactamente lo que hace un motor de inferencia, aunque los reales usan resolución sobre la FNC (cláusulas).

3.2 Agentes lógicos (el "Mundo de Wumpus")

En el libro de referencia de IA (Russell & Norvig), un agente basado en conocimiento explora una cueva. Usa variables como B1,1B_{1,1} ("hay brisa en la casilla 1,1") y P1,2P_{1,2} ("hay pozo en 1,2"):

B1,1↔(P1,2∨P2,1)B_{1,1}\leftrightarrow (P_{1,2}\lor P_{2,1})

Si percibe ¬B1,1\neg B_{1,1}, por consecuencia lógica deduce ¬P1,2∧¬P2,1\neg P_{1,2}\land\neg P_{2,1}: las casillas vecinas son seguras. El agente decide moverse sin arriesgarse gracias a KB⊨αKB\models\alpha.

3.3 SAT solvers: satisfacibilidad a escala industrial

El problema de decidir si una fórmula en FNC es satisfacible (SAT) fue el primer problema demostrado NP-completo (teorema de Cook, 1971). Aun así, los SAT solvers modernos (algoritmos DPLL/CDCL, primos sofisticados de los tableaux) resuelven fórmulas con millones de variables:

  • Planificación automática (SATPlan): "¿existe un plan de kk pasos?" se codifica como SAT.
  • Verificación de hardware y software: "¿puede el circuito llegar a un estado de error?" → si la fórmula es insatisfacible, el diseño es seguro.
  • Configuración de productos, horarios, Sudokus: restricciones = cláusulas.

Conexión directa con el temario

Toda la cadena fórmula → FNC → ¿satisfacible? que estudias aquí es literalmente la entrada estándar (formato DIMACS) de un SAT solver.

3.4 Puertas lógicas y neuronas

Las conectivas son funciones booleanas. Un perceptrón (la neurona artificial más simple) puede implementar ∧\land, ∨\lor y ¬\neg ajustando pesos y umbral:

PuertaPesos (w1,w2)(w_1,w_2)UmbralSe activa si
AND (∧\land)(1,1)(1,1)1.51.5x1+x2≥1.5x_1+x_2\geq1.5
OR (∨\lor)(1,1)(1,1)0.50.5x1+x2≥0.5x_1+x_2\geq0.5

Pero no puede implementar XOR (¬(p↔q)\neg(p\leftrightarrow q)), porque sus casos verdaderos no son separables por una recta. Este resultado (Minsky & Papert, 1969) frenó la investigación en redes neuronales y motivó las redes multicapa. Con la FND, p⊕q≡(p∧¬q)∨(¬p∧q)p\oplus q\equiv(p\land\neg q)\lor(\neg p\land q): dos neuronas AND en una capa oculta + una OR en la salida.

3.5 Detección de falacias en lenguaje natural

Como se menciona en la presentación de la asignatura, un sistema de NLP puede formalizar un argumento y comprobar con tableaux si Γ⊨α\Gamma\models\alpha. Si el tableau de Γ∪{¬α}\Gamma\cup\{\neg\alpha\} queda abierto, la rama abierta es literalmente el contraejemplo que demuestra la falacia.

David González Lombraña

Apuntes, laboratorio y proyectos de IA, Linux y redes.