Un conjunto es subconjunto de otro cuando todos sus elementos también pertenecen al segundo conjunto. Esta relación permite expresar inclusión, jerarquías, permisos, filtros y categorías.
Hasta ahora vimos cómo representar conjuntos, contar sus elementos y comparar igualdad. En este tema estudiaremos una relación fundamental entre conjuntos: la inclusión.
La inclusión permite decir que un conjunto está contenido dentro de otro. Esta idea aparece en matemáticas, permisos de usuario, categorías, filtros de datos y validaciones de requisitos.
Un conjunto A es subconjunto de un conjunto B cuando todos los elementos de A también pertenecen a B.
La expresión A ⊆ B se lee: A es subconjunto de B, o A está contenido en B.
La relación de subconjunto se representa con el símbolo ⊆. Si un conjunto no está contenido en otro, se usa ⊄ o se indica explícitamente que la inclusión es falsa.
| Notación | Lectura | Significado |
|---|---|---|
| A ⊆ B | A es subconjunto de B | Todo elemento de A pertenece a B |
| A ⊄ B | A no es subconjunto de B | Existe al menos un elemento de A que no pertenece a B |
| A ⊂ B | A es subconjunto propio de B | A está contenido en B y no es igual a B |
La pertenencia relaciona un elemento con un conjunto. La inclusión relaciona un conjunto con otro conjunto.
En la primera línea, 2 es un elemento. En la segunda línea, {1, 2} es un conjunto.
| Conjunto A | Conjunto B | Relación |
|---|---|---|
| {2, 4} | {2, 4, 6, 8} | A ⊆ B |
| {HTML, CSS} | {HTML, CSS, JavaScript} | A ⊆ B |
| {leer, editar} | {leer, editar, publicar} | A ⊆ B |
| {1, 5} | {1, 2, 3} | A no es subconjunto de B |
Un conjunto A es subconjunto propio de B cuando todos los elementos de A pertenecen a B, pero A y B no son iguales.
En este caso, A está contenido en B y B tiene al menos un elemento que A no tiene.
Todo conjunto es subconjunto de sí mismo, pero no es subconjunto propio de sí mismo.
La inclusión permite igualdad. La inclusión propia exige que haya una diferencia real entre ambos conjuntos.
El conjunto vacío es subconjunto de cualquier conjunto. Esto se debe a que no contiene elementos que puedan violar la condición de inclusión.
Si A no es vacío, entonces ∅ además es subconjunto propio de A.
| Propiedad | Notación | Interpretación |
|---|---|---|
| Reflexiva | A ⊆ A | Todo conjunto está contenido en sí mismo |
| Antisimétrica | Si A ⊆ B y B ⊆ A, entonces A = B | Si se contienen mutuamente, tienen los mismos elementos |
| Transitiva | Si A ⊆ B y B ⊆ C, entonces A ⊆ C | La inclusión puede encadenarse |
| Vacío | ∅ ⊆ A | El conjunto vacío está contenido en todo conjunto |
En un diagrama de Venn, si A es subconjunto de B, la región de A queda completamente dentro de la región de B.
Todo administrador debe ser un usuario registrado, pero no todo usuario registrado es administrador.
En JavaScript, podemos verificar si un conjunto es subconjunto de otro comprobando que todos sus elementos estén presentes en el segundo conjunto.
function esSubconjunto(a, b) {
return [...a].every(elemento => b.has(elemento));
}
const requeridos = new Set(["leer", "editar"]);
const asignados = new Set(["leer", "editar", "publicar"]);
console.log(esSubconjunto(requeridos, asignados));
El resultado es verdadero porque todos los permisos requeridos están dentro del conjunto de permisos asignados.
Para verificar si un conjunto es subconjunto propio, además de comprobar inclusión debemos verificar que los conjuntos no tengan la misma cardinalidad.
function esSubconjuntoPropio(a, b) {
return a.size < b.size && [...a].every(elemento => b.has(elemento));
}
const basicos = new Set(["HTML", "CSS"]);
const web = new Set(["HTML", "CSS", "JavaScript"]);
console.log(esSubconjuntoPropio(basicos, web));
El conjunto de tecnologías básicas está contenido en el conjunto web y además tiene menos elementos.
| Situación | Relación de subconjunto | Uso práctico |
|---|---|---|
| Permisos | Permisos requeridos ⊆ permisos asignados | Autorizar una acción |
| Filtros | Resultados filtrados ⊆ datos originales | Validar una consulta |
| Categorías | Productos destacados ⊆ productos disponibles | Organizar catálogos |
| Pruebas | Casos aprobados ⊆ casos ejecutados | Analizar resultados de testing |
Los subconjuntos permiten expresar que una colección está contenida dentro de otra. Esta relación es fundamental para comprender jerarquías, filtros, permisos y muchas operaciones posteriores.
En el próximo tema estudiaremos el conjunto potencia y la cantidad de subconjuntos que puede tener un conjunto.