Cómo se construye una tabla de verdad
Una tabla de verdad no demuestra nada por astucia: lo comprueba todo. Se enumeran todas las combinaciones posibles de valores para las variables y se evalúa la expresión en cada una. Si sale verdadera en todas, es una tautología, y eso es una demostración completa, no un indicio.
El número de filas crece deprisa: 2 elevado al número de variables. Dos variables son cuatro filas, tres son ocho, diez son mil veinticuatro. Esa explosión es la razón por la que existen los mapas de Karnaugh y los métodos de simplificación: a partir de cinco o seis variables, la tabla deja de ser una herramienta y pasa a ser un problema.
El orden de las filas de esta página es el clásico de los libros: arriba todo verdadero, abajo todo falso. Muchos programas lo hacen al revés, empezando por el cero binario. Ninguno de los dos es más correcto, pero conviene mirarlo antes de comparar una tabla con la de un ejercicio.
Los operadores, uno a uno
- Negación (¬, !, '): invierte el valor. Verdadero pasa a falso y al revés.
- Conjunción (∧, &&, ·): verdadera solo cuando lo son las dos partes.
- Disyunción (∨, ||, +): verdadera cuando lo es al menos una. Es inclusiva: con las dos verdaderas también sale verdadera.
- Disyunción exclusiva (⊕, xor): verdadera cuando las dos partes difieren. Es el «o» del lenguaje corriente cuando decimos «o una cosa o la otra».
- Implicación (→, ->): falsa solo si el antecedente es verdadero y el consecuente falso.
- Bicondicional (↔, <->): verdadero cuando las dos partes coinciden.
- NAND y NOR: las negaciones de la conjunción y la disyunción. Cada una por sí sola basta para construir cualquier circuito, y por eso son las puertas más baratas de fabricar.
La implicación es la que se atraviesa. «Si llueve, me mojo» no dice nada sobre los días de sol: si no llueve, la frase no se incumple, así que la implicación es verdadera. Solo se rompe el día que llueve y uno llega seco. Esa asimetría es lógica formal, no intuición del lenguaje, y es la fuente de la mitad de los errores en los exámenes.
Cómo escribir la expresión
La página acepta las tres notaciones que se usan por ahí, porque quien viene a comprobar un ejercicio copia lo que tiene delante:
- Lógica:
¬A ∧ (B ∨ C) → D - Programación:
!A && (B || C), y tambiénand,or,not,xor. - Álgebra de Boole:
A'·(B+C), con la negación en forma de comilla detrás de la variable.
Las variables son letras o palabras: valen A, B, p,
q o llueve. Las constantes se escriben 1 y 0,
o verdadero y falso. Una V o una F sueltas se
leen como variables, no como valores: en álgebra de Boole, F es el nombre habitual
de la función de salida y convertirla en «falso» daría una tabla equivocada sin avisar.
La precedencia, de más fuerte a más débil, es: negación, conjunción, disyunción exclusiva,
disyunción, implicación y bicondicional. Es decir, A ∨ B ∧ C se lee
A ∨ (B ∧ C). Ante la duda, paréntesis: no cuestan nada y la columna «expresión
leída» del desglose muestra exactamente cómo se ha entendido lo que se escribió.
Lo que conviene saber
Los minitérminos son los números de las filas verdaderas, leyendo las entradas como un binario donde verdadero vale 1. Sirven para escribir la forma canónica de una función —la suma de productos— y son la entrada de un mapa de Karnaugh. Los maxitérminos son lo mismo con las filas falsas, y llevan a la forma de producto de sumas.
La comparación entre dos expresiones no busca parecidos: recorre todas las filas y se detiene en la primera en que discrepan. Si son equivalentes, lo son de verdad, y si no lo son, la página dice con qué valores fallan. Es la forma más rápida de comprobar una simplificación que uno acaba de hacer a mano, que es donde se cuelan los errores.
La implicación asocia por la derecha, siguiendo la convención de la lógica: A → B → C
se entiende como A → (B → C), que no es lo mismo que (A → B) → C.
Compruébalo con esta página: son expresiones distintas y sus tablas no coinciden.