Evaluar una expresión lógica con una tabla de verdad permite conocer su resultado en todos los casos posibles y comprobar si una condición está bien construida.
Una tabla de verdad no solo muestra los operadores básicos. También permite evaluar expresiones compuestas, incluso cuando tienen varias proposiciones, negaciones, paréntesis y operadores diferentes.
La clave es dividir la expresión en partes más pequeñas y evaluarlas en columnas intermedias.
Para evaluar una expresión mediante una tabla de verdad, seguiremos estos pasos:
Evaluemos la expresión:
La expresión tiene dos proposiciones simples: p y q. Por lo tanto, la tabla tiene 22 = 4 filas.
| p | q | ¬p | ¬p ∨ q |
|---|---|---|---|
| V | V | F | V |
| V | F | F | F |
| F | V | V | V |
| F | F | V | V |
La columna final es falsa solo cuando p es verdadera y q es falsa.
Ahora evaluemos:
La expresión tiene tres proposiciones simples: p, q y r. La tabla tendrá 23 = 8 filas.
| p | q | r | p ∨ q | ¬r | (p ∨ q) ∧ ¬r |
|---|---|---|---|---|---|
| V | V | V | V | F | F |
| V | V | F | V | V | V |
| V | F | V | V | F | F |
| V | F | F | V | V | V |
| F | V | V | V | F | F |
| F | V | F | V | V | V |
| F | F | V | F | F | F |
| F | F | F | F | V | F |
La expresión final es verdadera cuando se cumple p ∨ q y además r es falsa.
Las columnas intermedias reducen errores. En lugar de intentar evaluar toda la expresión de una vez, se evalúa cada parte.
Esta técnica se vuelve más importante a medida que las expresiones crecen.
Consideremos la expresión:
Primero evaluamos p ∧ q. Luego usamos ese resultado como antecedente de la implicación.
| p | q | r | p ∧ q | (p ∧ q) → r |
|---|---|---|---|---|
| V | V | V | V | V |
| V | V | F | V | F |
| V | F | V | F | V |
| V | F | F | F | V |
| F | V | V | F | V |
| F | V | F | F | V |
| F | F | V | F | V |
| F | F | F | F | V |
La expresión solo es falsa cuando p ∧ q es verdadera y r es falsa.
Las tablas de verdad también permiten verificar si dos expresiones son equivalentes. Comparemos:
| p | q | p → q | ¬p ∨ q |
|---|---|---|---|
| V | V | V | V |
| V | F | F | F |
| F | V | V | V |
| F | F | V | V |
Como las columnas finales coinciden en todas las filas, las expresiones son equivalentes.
Podemos reproducir una tabla de verdad con código para comprobar una expresión.
const valores = [true, false];
for (const p of valores) {
for (const q of valores) {
const expresion = !p || q;
console.log({ p, q, expresion });
}
}
Este programa evalúa ¬p ∨ q para las cuatro combinaciones posibles de p y q.
Supongamos esta regla:
La expresión lógica es:
Donde:
Una tabla de verdad permitiría revisar todos los casos posibles de acceso.
Mostremos algunos casos representativos de p ∨ (q ∧ ¬r):
| p | q | r | ¬r | q ∧ ¬r | p ∨ (q ∧ ¬r) |
|---|---|---|---|---|---|
| V | F | V | F | F | V |
| F | V | F | V | V | V |
| F | V | V | F | F | F |
| F | F | F | V | F | F |
Esta tabla parcial ya permite ver casos importantes: administrador, autor con documento libre, autor con documento bloqueado y usuario sin permisos.
Comparemos dos expresiones parecidas:
No son equivalentes. En la primera, un administrador puede editar aunque el documento esté bloqueado. En la segunda, nadie puede editar si el documento está bloqueado.
Una tabla de verdad muestra exactamente en qué filas difieren.
Las tablas de verdad permiten evaluar expresiones lógicas de forma sistemática. Al dividir una expresión en partes, se reduce la posibilidad de errores y se obtiene una visión completa de su comportamiento.
En el próximo tema estudiaremos las tautologías.