Aprende las tablas de verdad de la logica proposicional: negacion, conjuncion, disyuncion, condicional y bicondicional. Con ejercicios y aplicaciones.
Una proposicion es una oracion que puede ser verdadera (V) o falsa (F). "2+2=4" es verdadera. "El sol es verde" es falsa. Las tablas de verdad muestran todos los posibles valores de verdad de una expresion logica combinada con conectivos.
El condicional "si p entonces q" es falso solo cuando p es verdadero y q es falso. Si p=F, el condicional es verdadero sin importar q (una premisa falsa no puede invalidar la implicacion). "Si llueve entonces el suelo se moja" es verdadero. Si no llueve (p=F), no podemos decir que la implicacion es falsa aunque el suelo este mojado por otra razon.
¬(p∧q) = ¬p∨¬q. La negacion de "llueve Y hace frio" es "no llueve O no hace frio". ¬(p∨q) = ¬p∧¬q. La negacion de "llueve O hace calor" es "no llueve Y no hace calor". Estas leyes son fundamentales en programacion: el NOT de un AND en un condicional se convierte en un OR con los NOT aplicados a cada condicion.
Las tablas de verdad son la base de la electronica digital. Los circuitos logicos (AND, OR, NOT gates) son implementaciones fisicas de las conectivas logicas. Una compuerta AND da 1 solo si ambas entradas son 1 — exactamente la conjuncion logica. Un procesador moderno tiene miles de millones de estas compuertas. Las matematicas que aprendes en logica proposicional son literalmente el lenguaje del hardware de todos los computadores del mundo.
Claude Shannon, fundador de la teoria de la informacion, aplico las tablas de verdad y el algebra de Boole al diseño de circuitos electricos en su tesis de maestria de 1937. Mostro que los circuitos electronicos con interruptores pueden implementar cualquier funcion logica. Esto fue la idea fundacional de la computacion digital: los computadores pueden construirse combinando compuertas logicas simples (AND, OR, NOT) de la misma forma que las proposiciones se combinan con conectivos logicos. Shannon transformo la logica matematica abstracta en una tecnologia de ingenieria practica que definiria el siglo XX.
En programacion, los operadores logicos trabajan exactamente como las conectivas de la logica proposicional. En Python: and es la conjuncion (True and False = False), or es la disyuncion (True or False = True), not es la negacion (not True = False). En Java, JavaScript y C++: && es and, || es or, ! es not. Las leyes de De Morgan se usan constantemente para simplificar condiciones en codigo: if not (a and b) es equivalente a if (not a) or (not b). Un programador que entiende la logica proposicional puede simplificar condiciones complejas que otros encuentran confusas.