Lógica

Expresiones y Operadores

La lógica formal es el lenguaje de las matemáticas. Antes de demostrar teoremas o construir teorías, necesitamos un lenguaje preciso para expresar proposiciones y razonar sobre ellas.

Este capítulo presenta la lógica como un sistema formal: un lenguaje con una sintaxis definida, axiomas y reglas de inferencia que permiten derivar verdades de manera puramente simbólica.

La manipulación sintáctica de fórmulas lógicas es una herramienta poderosa para descubrir y certificar verdades. Aprender a razonar simbólicamente es tan importante como razonar semánticamente.

Expresiones booleanas

Definición 1 — Proposición

Una proposición es un enunciado que puede ser verdadero o falso, pero no ambos simultáneamente.

Por ejemplo, "7 es primo" es una proposición (verdadera), mientras que "x>3x > 3" no es una proposición hasta que se especifique el valor de xx.

Definición 2 — Expresión booleana

Una expresión booleana EE se construye recursivamente a partir de:

  • Constantes: ⊤\top (verdad) y ⊥\bot (falsedad)
  • Variables booleanas: letras minúsculas p,q,r,…p, q, r, \ldots que representan proposiciones
  • Operadores: ¬, ∧, ∨, ⇒, ⇐, ⇔\neg,\ \land,\ \lor,\ \Rightarrow,\ \Leftarrow,\ \Leftrightarrow

Si E1E_1 y E2E_2 son expresiones booleanas, entonces también lo son ¬E1\neg E_1, (E1∧E2)(E_1 \land E_2), (E1∨E2)(E_1 \lor E_2), (E1⇒E2)(E_1 \Rightarrow E_2), (E1⇐E2)(E_1 \Leftarrow E_2) y (E1⇔E2)(E_1 \Leftrightarrow E_2).

Operadores lógicos

Cada operador lógico se define por su tabla de verdad, que especifica el valor de la expresión compuesta para cada combinación de valores de sus operandos.

Definición 3 — Negación

El operador unario ¬\neg (negación, "no") invierte el valor de verdad:

pp¬p\neg p
⊤\top⊥\bot
⊥\bot⊤\top
Definición 4 — Conjunción

El operador ∧\land (conjunción, "y") es verdadero solo cuando ambos operandos son verdaderos:

ppqqp∧qp \land q
⊤\top⊤\top⊤\top
⊤\top⊥\bot⊥\bot
⊥\bot⊤\top⊥\bot
⊥\bot⊥\bot⊥\bot
Definición 5 — Disyunción

El operador ∨\lor (disyunción, "o") es verdadero cuando al menos un operando es verdadero:

ppqqp∨qp \lor q
⊤\top⊤\top⊤\top
⊤\top⊥\bot⊤\top
⊥\bot⊤\top⊤\top
⊥\bot⊥\bot⊥\bot

Nota: la disyunción lógica es inclusiva — "pp o qq" es verdadero incluso si ambos lo son.

Definición 6 — Implicación

El operador ⇒\Rightarrow (implicación, "si ... entonces") es falso únicamente cuando el antecedente es verdadero y el consecuente es falso:

ppqqp⇒qp \Rightarrow q
⊤\top⊤\top⊤\top
⊤\top⊥\bot⊥\bot
⊥\bot⊤\top⊤\top
⊥\bot⊥\bot⊤\top

En p⇒qp \Rightarrow q, llamamos a pp el antecedente y a qq el consecuente. Observar que ⊥⇒q\bot \Rightarrow q es siempre ⊤\top: de lo falso se sigue cualquier cosa (ex falso quodlibet).

Definición 7 — Consecuente

El operador ⇐\Leftarrow (consecuente, "se sigue de") satisface p⇐q≡q⇒pp \Leftarrow q \equiv q \Rightarrow p:

ppqqp⇐qp \Leftarrow q
⊤\top⊤\top⊤\top
⊤\top⊥\bot⊤\top
⊥\bot⊤\top⊥\bot
⊥\bot⊥\bot⊤\top
Definición 8 — Equivalencia

El operador ⇔\Leftrightarrow (equivalencia, "si y solo si") es verdadero cuando ambos operandos tienen el mismo valor de verdad:

ppqqp⇔qp \Leftrightarrow q
⊤\top⊤\top⊤\top
⊤\top⊥\bot⊥\bot
⊥\bot⊤\top⊥\bot
⊥\bot⊥\bot⊤\top

Resumen de operadores

Definición 9 — Tabla de operadores

Usando las variables pp: "mañana nevará" y qq: "mañana lloverá":

SímboloNombreEjemploSignificado
¬\negnegación¬p\neg pMañana no nevará
∨\lordisyunciónp∨qp \lor qMañana nevará o lloverá
∧\landconjunciónp∧qp \land qMañana nevará y lloverá
⇒\Rightarrowimplicaciónp⇒qp \Rightarrow qSi nieva, entonces llueve
⇐\Leftarrowconsecuentep⇐qp \Leftarrow qQue llueva es consecuencia de que nieve
⇔\Leftrightarrowequivalenciap⇔qp \Leftrightarrow qNieva si y solo si llueve

Precedencia de operadores

Los operadores lógicos tienen un orden de precedencia (de mayor a menor):

  1. ¬\neg (negación)
  2. ∧\land (conjunción)
  3. ∨\lor (disyunción)
  4. ⇒\Rightarrow, ⇐\Leftarrow (implicación, consecuente)
  5. ⇔\Leftrightarrow (equivalencia)

Así, ¬p∧q⇒r\neg p \land q \Rightarrow r se lee como (¬p)∧q⇒r(\neg p) \land q \Rightarrow r, es decir ((¬p)∧q)⇒r((\neg p) \land q) \Rightarrow r.

Traducción al lenguaje simbólico

Cualquier proposición matemática puede expresarse en lógica simbólica. El proceso consiste en:

  1. Identificar las subproposiciones atómicas y asignarles variables booleanas
  2. Reemplazar las subproposiciones por sus variables
  3. Traducir las conectivas del lenguaje natural a operadores lógicos
Ejemplo 1 — Traducción de enunciados

"Si pp es primo y divide a abab, entonces divide a aa o a bb":

r∧s⇒t∨ur \land s \Rightarrow t \lor u

donde rr: "pp es primo", ss: "pp divide a abab", tt: "pp divide a aa", uu: "pp divide a bb".

Ejemplo 2 — Traducción de enunciados

"f(a)=0f(a)=0 si y solo si (x−a)(x-a) divide a f(x)f(x)":

r⇔sr \Leftrightarrow s

donde rr: "f(a)=0f(a)=0" y ss: "(x−a)(x-a) divide a f(x)f(x)".

Tautologías y contradicciones

Definición 10 — Tautología

Una expresión booleana es una tautología (o es válida) si es verdadera en todo estado posible, es decir, para toda asignación de valores a sus variables. Se denota como ⊨E\vDash E.

Por ejemplo, p∨¬pp \lor \neg p es una tautología.

Definición 11 — Contradicción

Una expresión booleana es una contradicción si es falsa en todo estado posible.

Por ejemplo, p∧¬pp \land \neg p es una contradicción.

Definición 12 — Satisfacibilidad

Una expresión booleana es satisfacible si existe al menos un estado en el que es verdadera. Toda tautología es satisfacible; toda contradicción es insatisfacible.

Teorema 3 — Relación entre tautología y contradicción

EE es una tautología si y solo si ¬E\neg E es una contradicción.

Equivalencia lógica

Definición 13 — Equivalencia lógica

Dos expresiones booleanas E1E_1 y E2E_2 son lógicamente equivalentes, escrito E1≡E2E_1 \equiv E_2, si tienen el mismo valor de verdad en todo estado posible. Equivalentemente, E1≡E2E_1 \equiv E_2 si y solo si E1⇔E2E_1 \Leftrightarrow E_2 es una tautología.

La equivalencia lógica nos permite reemplazar una expresión por otra en cualquier contexto sin alterar el valor de verdad. Esta es la base del razonamiento ecuacional: transformar expresiones paso a paso, manteniendo la equivalencia.