Notación de generación de conjuntos

Un conjunto se puede describir directamente enumerando todos sus elementos entre llaves, como en los dos ejemplos siguientes: Esto a veces se denomina "método de lista" para especificar un conjunto.

[2]​ Cuando se desea denotar un conjunto que contiene elementos de una secuencia regular, se puede emplear una notación con puntos suspensivos, como se muestra en los siguientes ejemplos: No hay orden entre los elementos de un conjunto (esto explica y valida la igualdad del último ejemplo), pero con la notación que emplea elipsis, se usa una secuencia ordenada antes (o después) de este recurso como un vehículo de notación conveniente para explicar qué elementos están en un conjunto.

Se muestran los primeros elementos de la secuencia, y la elipsis indica que se debe aplicar la interpretación más simple para continuar con la secuencia.

Si no aparece ningún valor final a la derecha de las elipsis, entonces la secuencia se considera ilimitada.

En los ejemplos anteriores, cada conjunto se describe enumerando sus elementos.

No todos los conjuntos se pueden describir de esta manera o, si se puede, su enumeración puede ser demasiado larga o complicada para ser útil.

Por lo tanto, muchos conjuntos se definen por una propiedad que caracteriza a sus elementos.

Esta caracterización se puede hacer de manera informal usando un lenguaje de carácter general, como en el siguiente ejemplo: Sin embargo, el enfoque léxico puede carecer de precisión o ser ambiguo, y por lo tanto, la notación constructora de conjuntos se utiliza a menudo con un predicado que caracteriza los elementos del conjunto que se define, tal como se describe en la siguiente sección.

La notación de creación de conjuntos se puede utilizar para describir un conjunto definido por un predicado, es decir, una fórmula lógica que se evalúa como "verdadera" para un elemento del conjunto y como "falsa" en caso contrario.

[3]​ En esta forma, la notación generadora de conjuntos tiene tres partes: una variable, un separador (como : o |) y un predicado.

Se dice que la fórmula Φ(x) es la "regla" o el "predicado".

Todos los valores de x para los cuales el predicado se cumple (es verdadero) pertenecen al conjunto que se está definiendo.

[4]​ Puede ser el conjunto vacío si ningún valor de x satisface la fórmula.

A la izquierda de la barra vertical puede aparecer un dominio E:[5]​ o uniéndolo al predicado: El símbolo ∈ aquí denota un elemento de un conjunto, mientras que el símbolo

Esta notación representa el conjunto de todos los valores de x que pertenecen a algún conjunto dado E para el cual el predicado es verdadero (consúltese "Establecimiento del axioma de existencia" a continuación).

En general, no es una buena idea considerar conjuntos sin definir un dominio, ya que esto representaría el subconjunto de "todas las cosas posibles que pueden existir" para las cuales el predicado es verdadero.

Esto puede conducir fácilmente a contradicciones y paradojas.

Por ejemplo, la paradoja de Russell muestra que la expresión

[6]​ En los casos en los que el conjunto E se desprende claramente del contexto, es posible que no se especifique explícitamente.

Es común en la bibliografía que un autor indique el dominio en una primera entrada y después no lo especifique de nuevo en la notación del constructor de conjuntos.

Por ejemplo, un autor puede decir algo como: "A menos que se indique lo contrario, las variables deben considerarse números naturales", aunque en contextos menos formales donde se puede asumir el dominio, a menudo es innecesaria una mención escrita.

En cada caso, el dominio se especifica en el lado izquierdo de la barra vertical, mientras que la regla se especifica en el lado derecho.

, que debería leerse como Por ejemplo: Cuando las funciones inversas se pueden establecer explícitamente, la expresión de la izquierda se puede eliminar mediante una simple sustitución.

, y luego reemplazando t en la notación del generador de conjuntos se obtiene Dos conjuntos son iguales si y solo si tienen los mismos elementos.

Los conjuntos definidos por la notación del constructor de conjuntos son iguales si y solo si sus reglas, incluidos los especificadores de dominio, son equivalentes.

Por ejemplo, porque los dos predicados de la regla de construcción son lógicamente equivalentes: Esta equivalencia se cumple porque, para cualquier número real x, se tiene que

Una notación similar disponible en varios lenguaje de programación (en particular, Python y Haskell) es list comprehension, que combina las operaciones map y filter en una o más listas.

En Python, los delimitadores del constructor de conjuntos se reemplazan por corchetes, paréntesis o llaves, dando lista, generador y objetos del conjunto, respectivamente.

El lenguaje Haskell reemplaza las llaves del constructor de conjuntos por corchetes, pero usa sus símbolos, incluida la barra vertical estándar del constructor de conjuntos.

Lo mismo se puede lograr en Scala usando Sequence Comprehensions, donde la palabra clave "for" devuelve una lista de las variables obtenidas usando la palabra clave "yield".