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, (E1E2)(E_1 \land E_2), (E1E2)(E_1 \lor E_2), (E1E2)(E_1 \Rightarrow E_2), (E1E2)(E_1 \Leftarrow E_2) y (E1E2)(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:

ppqqpqp \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:

ppqqpqp \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:

ppqqpqp \Rightarrow q
\top\top\top
\top\bot\bot
\bot\top\top
\bot\bot\top

En pqp \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 pqqpp \Leftarrow q \equiv q \Rightarrow p:

ppqqpqp \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:

ppqqpqp \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ónpqp \lor qMañana nevará o lloverá
\landconjunciónpqp \land qMañana nevará y lloverá
\Rightarrowimplicaciónpqp \Rightarrow qSi nieva, entonces llueve
\Leftarrowconsecuentepqp \Leftarrow qQue llueva es consecuencia de que nieve
\Leftrightarrowequivalenciapqp \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í, ¬pqr\neg p \land q \Rightarrow r se lee como (¬p)qr(\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":

rstur \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 (xa)(x-a) divide a f(x)f(x)":

rsr \Leftrightarrow s

donde rr: "f(a)=0f(a)=0" y ss: "(xa)(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 E1E2E_1 \equiv E_2, si tienen el mismo valor de verdad en todo estado posible. Equivalentemente, E1E2E_1 \equiv E_2 si y solo si E1E2E_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.