17. Simplificación de expresiones de conjuntos

Simplificar expresiones de conjuntos consiste en transformar una expresión compleja en otra equivalente más clara, usando propiedades como identidad, absorción, distributividad y leyes de De Morgan.

17.1 Introducción

Las expresiones de conjuntos pueden combinar unión, intersección, diferencia y complemento. Cuando esas expresiones crecen, conviene simplificarlas para entender mejor qué elementos describen.

Simplificar no significa cambiar el resultado. Significa reemplazar una expresión por otra equivalente, pero más corta o más fácil de interpretar.

17.2 Qué significa simplificar

Dos expresiones son equivalentes si representan el mismo conjunto para cualquier valor posible de los conjuntos involucrados.

A ∪ (A ∩ B) = A

La expresión de la izquierda parece más compleja, pero siempre describe el mismo conjunto que A.

17.3 Propiedades que se usan para simplificar

Propiedad Regla Uso
Identidad A ∪ ∅ = A, A ∩ U = A Eliminar operaciones neutras
Dominación A ∪ U = U, A ∩ ∅ = ∅ Detectar resultados forzados
Idempotencia A ∪ A = A, A ∩ A = A Quitar repeticiones
Absorción A ∪ (A ∩ B) = A Reducir expresiones anidadas
De Morgan (A ∪ B)ᶜ = Aᶜ ∩ Bᶜ Distribuir complementos

17.4 Simplificación por identidad

Si una operación no modifica el conjunto, puede eliminarse.

(A ∪ ∅) ∩ U = A ∩ U = A

Primero se elimina la unión con el conjunto vacío. Luego se elimina la intersección con el universo.

17.5 Simplificación por dominación

Algunas operaciones determinan el resultado sin importar el otro conjunto.

(A ∩ ∅) ∪ B = ∅ ∪ B = B

Como A ∩ ∅ = ∅, la expresión se reduce a B.

17.6 Simplificación por idempotencia

Cuando un conjunto aparece repetido en la misma operación, una copia alcanza.

A ∪ A ∪ B = A ∪ B

Los conjuntos no duplican elementos, por eso repetir A no cambia el resultado.

17.7 Simplificación por absorción

La absorción permite reducir expresiones donde un conjunto ya contiene la parte agregada.

A ∪ (A ∩ B) = A A ∩ (A ∪ B) = A

Estas reglas son muy útiles porque aparecen con frecuencia en condiciones combinadas.

17.8 Simplificación con complemento

Un conjunto unido con su complemento cubre todo el universo. Un conjunto intersectado con su complemento produce el vacío.

A ∪ Aᶜ = U A ∩ Aᶜ = ∅

Estas reglas permiten reemplazar expresiones completas por U o .

17.9 Simplificación con doble complemento

Complementar dos veces devuelve el conjunto original.

(Aᶜ)ᶜ = A

Esta regla ayuda a limpiar expresiones con negaciones acumuladas.

17.10 Simplificación con leyes de De Morgan

Las leyes de De Morgan permiten transformar complementos de uniones e intersecciones.

(A ∪ B)ᶜ ∩ A = (Aᶜ ∩ Bᶜ) ∩ A = (Aᶜ ∩ A) ∩ Bᶜ = ∅ ∩ Bᶜ = ∅

La clave es detectar que Aᶜ ∩ A = ∅.

17.11 Ejemplo paso a paso

Simplifiquemos una expresión usando varias propiedades.

(A ∪ B) ∩ (A ∪ Bᶜ)

Aplicamos distributividad inversa:

(A ∪ B) ∩ (A ∪ Bᶜ) = A ∪ (B ∩ Bᶜ) = A ∪ ∅ = A

La expresión completa se simplifica a A.

17.12 Estrategia general

Para simplificar expresiones de conjuntos, conviene seguir un proceso ordenado.

  1. Identificar complementos y aplicar doble complemento si corresponde.
  2. Aplicar leyes de De Morgan para distribuir complementos.
  3. Buscar uniones con vacío o intersecciones con universo.
  4. Buscar expresiones con A y Aᶜ.
  5. Aplicar absorción o distributividad cuando simplifique la expresión.
  6. Verificar que el resultado tenga sentido en un diagrama de Venn o con ejemplos concretos.

17.13 Simplificación e interpretación lógica

Muchas expresiones de conjuntos se corresponden con condiciones lógicas. Simplificar una expresión puede equivaler a simplificar una condición de un programa.

A ∩ (A ∪ B) = A

En lenguaje lógico, si una condición A ya debe cumplirse, agregar "A o B" no cambia el resultado final.

17.14 Verificar una simplificación en JavaScript

Podemos verificar una simplificación calculando ambos lados de la igualdad con conjuntos concretos.

function union(a, b) {
  return new Set([...a, ...b]);
}

function interseccion(a, b) {
  return new Set([...a].filter(elemento => b.has(elemento)));
}

function sonIguales(a, b) {
  return a.size === b.size && [...a].every(elemento => b.has(elemento));
}

const a = new Set([1, 2, 3]);
const b = new Set([3, 4, 5]);

const expresion = union(a, interseccion(a, b));
const simplificada = a;

console.log([...expresion]);
console.log(sonIguales(expresion, simplificada));

El ejemplo verifica la propiedad de absorción A ∪ (A ∩ B) = A.

17.15 Verificación con complemento en JavaScript

También podemos comprobar una expresión que usa complemento.

function interseccion(a, b) {
  return new Set([...a].filter(elemento => b.has(elemento)));
}

function complemento(universo, conjunto) {
  return new Set([...universo].filter(elemento => !conjunto.has(elemento)));
}

const universo = new Set([1, 2, 3, 4, 5, 6]);
const a = new Set([1, 2, 3]);
const complementoA = complemento(universo, a);

const resultado = interseccion(a, complementoA);

console.log([...resultado]);
console.log(resultado.size === 0);

La expresión A ∩ Aᶜ se simplifica a .

17.16 Aplicaciones prácticas

Área Simplificación Beneficio
Filtros de búsqueda Eliminar condiciones redundantes Consultas más claras
Permisos Reducir reglas repetidas Menos errores de autorización
Pruebas Comprobar equivalencia de reglas Validaciones más confiables
Lógica de negocio Transformar condiciones compuestas Código más fácil de mantener

17.17 Errores frecuentes

  • Aplicar una propiedad sin verificar que corresponda a la operación correcta.
  • Olvidar cambiar unión por intersección al aplicar De Morgan.
  • Usar complementos sin definir el universo.
  • Eliminar paréntesis demasiado pronto.
  • Creer que una simplificación válida para un ejemplo concreto siempre es una identidad general.

17.18 Qué debes recordar de este tema

  • Simplificar es reemplazar una expresión por otra equivalente más clara.
  • Las propiedades de identidad, dominación, idempotencia y absorción ayudan a reducir expresiones.
  • Las leyes de De Morgan permiten trabajar con complementos de uniones e intersecciones.
  • El doble complemento devuelve el conjunto original.
  • Las expresiones con A ∩ Aᶜ se reducen a .
  • En JavaScript, se pueden verificar equivalencias comparando los resultados de dos expresiones.

17.19 Conclusión

La simplificación de expresiones de conjuntos permite razonar con mayor claridad y reducir operaciones innecesarias. También conecta directamente con la simplificación de condiciones en programación.

En el próximo tema estudiaremos la resolución de problemas mediante diagramas de Venn.