01 · Punto de partida
Tablas que caben en el bolsillo
A·1 = A vale para las 2 filas sin dibujarlas: los postulados comprimen infinitas tablas en reglas. Con 6 reglas + dualidad demostrás el resto (absorción, De Morgan) y simplificás circuitos enteros.
- ¿Cuáles son las 6 reglas base?
- ¿Qué es la dualidad y por qué regala teoremas?
- ¿Cómo se verifica una identidad?
- ¿Qué orden tienen las operaciones?
02 · Postulados
Las 6 + 3 de regalo
| Regla | Suma | Producto (dual) |
|---|---|---|
| Identidad | A+0 = A | A·1 = A |
| Dominancia | A+1 = 1 | A·0 = 0 |
| Complemento | A+~A = 1 | A·~A = 0 |
| Conmutativa | A+B = B+A | A·B = B·A |
| Distributiva | A+(B·C) = (A+B)·(A+C) | A·(B+C) = A·B+A·C |
La distributiva “rara” (suma sobre producto) no existe en aritmética: en booleana sí. Verificarla por tabla convence más que creerla.
03 · Dualidad
Dos teoremas por uno
Intercambiá +/· y 0/1 en una identidad válida y obtenés otra válida gratis: A+A·B = A tiene por dual A·(A+B) = A (absorción doble). La mitad de la tabla anterior es dual de la otra mitad.
04 · Orden y notación
Quién opera primero
- Orden
- NOT, luego AND, luego OR (como −, ×, +): A+~A·B = A+(~A·B). Paréntesis mandan siempre.
- Notación
- Suma +, producto por yuxtaposición o ·, NOT con ~ o barra: A+B, AB, ~A. En código: ||, &&, !.
- Involución
- ~~A = A: doble negación cancela (dos NOT en serie = cable con demora).
- Idempotencia
- A+A = A y A·A = A: repetir no suma. x+x en código duplica; en lógica repite.
05 · Reglas en código
Fuerza bruta contra la duda
Toda identidad se prueba en 2–4 filas: el verificador universal.
Python en tu navegador. Inventá tu identidad y sometela.
def vale_siempre(f, n=1):
ok = all(f(*[(i >> (n-1-k)) & 1 for k in range(n)]) for i in range(2**n))
print("vale siempre" if ok else "FALLA en alguna fila")
return ok
vale_siempre(lambda a: (a or (not a)))
vale_siempre(lambda a: (a and (not a)) == 0)
vale_siempre(lambda a, b: (a or (a and b)) == a, n=2)
Las tres valen siempre (complemento y absorción). ¿Y A+(B·C) == (A+B)·(A+C)?
La distributiva rara
vale_siempre(lambda a, b, c: (a or (b and c)) == ((a or b) and (a or c)), n=3)
vale_siempre(lambda a: (not (not a)) == a)
06 · Analogía programador
Axiomas y refactors
- 1Postulados = axiomas testeados.
Como los axiomas de un sistema de tipos: se asumen, todo lo demás se deriva y se testea.
- 2Absorción = simplificar ifs.
if (a || (a && b))→if (a): el linter lo hace; en silicio ahorra puertas. - 3Dual = simetría.
Como dualidad en optimización o De Morgan en conjuntos: una prueba, dos resultados.
07 · Exploración
Laboratorio: verificador
Elegí una identidad: el laboratorio la evalúa en todas sus filas y dicta veredicto.
Verificador
A+~A = 1 · 2/2 ✓
A+~A=1: 2/2 filas.
Preguntas para explorar
- Probá A+A·B=A. ¿Filas? ¿Dual? ¿Por qué el dual también vale?
- ¿Qué identidad usa 2 variables y cuál 1? ¿Cuántas filas cada una?
- Inventá una falsa (ej. A+1=A) y pasala por
vale_siempre(). ¿Qué fila falla?
Ver respuestas sugeridas
- 4 filas, dual A·(A+B)=A: vale por dualidad (teorema gratis del Tema 13).
- Absorción: 2 vars, 4 filas. Complemento/idempotencia: 1 var, 2 filas.
- Falla en A=0 (0+1=1≠0): una fila basta para voltear una “regla”.
08 · Comprensión
Confusiones frecuentes
«+ suma: 1+1 = 2 (o 0)»
1+1 = 1 en OR (idempotencia): el acarreo no existe acá. Sumar es otro circuito (Tema 23).
«Los postulados se demuestran»
Se asumen (son la base); lo demás se demuestra desde ellos. Pedir prueba de A+0=A es pedir demasiado.
«La distributiva rara es falsa»
La aritmética engaña: verificala por tabla (8 filas) y rendite. Booleana ≠ aritmética.
«AND antes que OR, siempre»
Sí por convención, pero el paréntesis explícito no cuesta y salva lectores (y vos en 6 meses).
09 · Práctica guiada
Ejercicios de reglas
Ejercicio 1: absorción a mano
Demostrá A+A·B = A factorizando (no por tabla) e indicá qué postulado usás en cada paso.
Ver solución razonada
A·1+A·B = A·(1+B) = A·1 = A (identidad, distributiva, dominancia, identidad). Cuatro pasos, cero tablas.
Ejercicio 2: duales
Escribí el dual de: A+~A=1; A·(A+B)=A; A+(B·C)=(A+B)·(A+C). Verificá uno con vale_siempre().
Ver solución
A·~A=0; A+A·B=A; A·(B+C)=A·B+A·C. El tercero es la distributiva “normal”: dualidad cierra el círculo.
Ejercicio 3: cazar la falsa
¿Vale (A+B)·(A+C) = A+(B·C)? ¿Y A·B+A·C = A·(B+C)? Una es teorema, la otra también: demostralas.
Ver solución
Ambas valen (son duales entre sí): la primera es la distributiva rara, la segunda la normal. Fuerza bruta de 8 filas.
10 · Síntesis
Ideas para recordar
- 6 postulados + dualidad = todo lo demás.
- A+(B·C) = (A+B)·(A+C) también vale.
- Absorción e idempotencia simplifican ifs y puertas.
- Verificar = 2–4 filas, siempre.
- Orden: NOT, AND, OR; paréntesis explícitos.
Base axiomática lista. Ahora los teoremas famosos: en el próximo tema, De Morgan y más.