En Conjuntos hemos utilizado los conjuntos de manera operativa: hemos hablado de pertenencia, subconjuntos, uniones, productos cartesianos y otras construcciones.
Sin embargo, queda una cuestión más profunda:
¿Qué conjuntos existen?
Podría parecer razonable admitir que cualquier propiedad determina un conjunto. Si tenemos una propiedad P(x), podríamos intentar formar
{x : P(x)},
el conjunto de todos los objetos que cumplen P.
Esta idea se denomina habitualmente comprensión irrestricta.
Desgraciadamente, conduce a contradicciones.
La teoría axiomática de conjuntos intenta evitar este problema especificando mediante axiomas qué podemos afirmar acerca de los conjuntos y qué procedimientos podemos utilizar para construir nuevos conjuntos a partir de otros.
Una de las teorías axiomáticas más utilizadas como fundamento de las matemáticas es ZFC: teoría de conjuntos de Zermelo-Fraenkel con el axioma de elección.
Supongamos que cualquier propiedad puede utilizarse para construir un conjunto.
Consideremos entonces la propiedad
x noen x.
Es decir, queremos considerar aquellos conjuntos que no pertenecen a sí mismos.
Mediante comprensión irrestricta podríamos definir
R = {x : x noen x}.
Ahora preguntamos:
R en R?
Supongamos primero que
R en R.
Por la definición de R, sus elementos son precisamente aquellos conjuntos que no pertenecen a sí mismos.
Por tanto,
R noen R.
Hemos obtenido una contradicción.
Supongamos ahora que
R noen R.
Pero R contiene precisamente todos los conjuntos que no pertenecen a sí mismos.
Por tanto,
R en R.
Volvemos a obtener una contradicción.
En resumen,
R en R -> R noen R
y
R noen R -> R en R.
La dificultad procede de haber supuesto que la propiedad
x noen x
determina automáticamente un conjunto de todos los objetos que la cumplen.
La paradoja de Russell muestra que no podemos admitir sin restricciones el principio
“para cualquier propiedad P(x), existe el conjunto de todos los x que cumplen P(x)”.
La solución adoptada por ZF no consiste en abandonar los conjuntos, sino en limitar cuidadosamente qué afirmaciones de existencia podemos realizar.
En lugar de comenzar suponiendo que cualquier colección definible constituye un conjunto, establecemos determinados axiomas.
Estos axiomas permiten:
Los axiomas no pretenden describir cómo escribir cómodamente conjuntos en la práctica cotidiana. Constituyen las reglas fundamentales de una teoría formal.
El axioma de extensionalidad afirma que dos conjuntos son iguales cuando tienen exactamente los mismos elementos.
Formalmente,
A = B <-> pt x: x en A <-> x en B.
Equivalentemente,
A = B <-> A sub B y B sub A.
Este axioma expresa que un conjunto queda completamente determinado por sus elementos.
No importa cómo se haya construido o descrito.
Por ejemplo,
{1,2,3},
{3,2,1},
{z en Z: n >= 1 y n <= 3},
{n en N: n < 4 y n != 0}
son el mismo conjunto.
ZF permite demostrar la existencia de un conjunto que no contiene ningún elemento.
Lo escribimos
{}.
Por tanto,
pt x: x noen {}.
Por extensionalidad sólo puede existir un conjunto vacío: cualesquiera dos conjuntos sin elementos contienen exactamente los mismos elementos y son, por tanto, iguales.
Dados dos conjuntos a y b, podemos formar un conjunto que los contiene:
{a,b}.
Éste es el contenido esencial del axioma de emparejamiento.
Si a=b, obtenemos el conjunto unitario
{a}.
Este axioma nos permite construir conjuntos finitos a partir de objetos que ya tenemos.
Dado un conjunto A cuyos elementos son a su vez conjuntos, podemos formar un conjunto que contiene los elementos de esos conjuntos.
Lo escribimos
union A.
Formalmente,
x en union A <-> exi B en A: x en B.
Por ejemplo, si
A = 1_2_2_3,
entonces
union A = {1,2,3}.
La unión binaria estudiada en Conjuntos puede construirse a partir de esta operación.
Dados A y B, formamos primero
{A,B}
y después
union {A,B} = A union B.
Para cualquier conjunto A existe un conjunto formado por todos sus subconjuntos.
Lo escribimos
P(A).
Por definición,
B en P(A) <-> B sub A.
Por ejemplo,
P({a,b}) = a_b_a_b.
El axioma del conjunto potencia es importante porque permite construir conjuntos considerablemente mayores a partir de otros.
La paradoja de Russell nos mostró que no podemos admitir sin restricciones conjuntos de la forma
{x : P(x)}.
Sin embargo, sí podemos utilizar una propiedad para seleccionar elementos de un conjunto que ya sabemos que existe.
Si A es un conjunto y P(x) es una propiedad adecuada, podemos formar
{x en A : P(x)}.
Este principio recibe el nombre de esquema de separación.
La diferencia es fundamental.
La comprensión irrestricta intentaba construir
{x : P(x)}
sin proporcionar previamente un conjunto que limitase los posibles valores de x.
La separación solamente permite extraer elementos de un conjunto A previamente existente:
{x en A : P(x)}.
Por ejemplo, si R representa los números reales, podemos construir
{x en R : x > 0},
el conjunto de los números reales positivos.
No estamos afirmando que exista “el conjunto de absolutamente todos los objetos que cumplen x > 0”. Estamos seleccionando determinados elementos dentro de un conjunto cuya existencia ya tenemos.
Supongamos que tenemos un conjunto A y una regla que asigna a cada elemento x de A un único objeto y.
El esquema de reemplazo permite, bajo las condiciones formales correspondientes, formar el conjunto de los resultados obtenidos.
Intuitivamente, si
A = {a,b,c}
y una operación produce respectivamente
f(a), f(b), f©,
podemos formar
{f(a),f(b),f©}.
El reemplazo resulta especialmente importante cuando realizamos construcciones sobre conjuntos grandes o definidas mediante procesos sucesivos.
A diferencia de algunos de los axiomas anteriores, reemplazo no es un único enunciado: es un esquema de axiomas, con una instancia para cada fórmula adecuada del lenguaje de la teoría.
Los axiomas anteriores permiten construir conjuntos finitos, pero no garantizan por sí solos la existencia de un conjunto infinito.
El axioma de infinito afirma, en una formulación habitual, que existe un conjunto que contiene {} y que, cuando contiene x, contiene también
x union {x}.
Esta operación permitirá construir los números naturales de von Neumann.
Partimos de
0 = {}.
Definimos el sucesor de n mediante
S(n) = n union {n}.
Entonces:
0 = {}
1 = {0}
2 = {0,1}
3 = {0,1,2}
y, en general,
n = {0,1,...,n-1}.
El axioma de infinito garantiza la existencia de un conjunto que contiene todos estos números.
A partir de él puede construirse el conjunto de los números naturales.
El axioma de fundación, también llamado axioma de regularidad, impide determinadas cadenas patológicas de pertenencia.
En particular, en ZF no puede ocurrir
x en x.
Tampoco podemos tener ciclos como
x en y
y
y en x.
De manera informal, la relación de pertenencia no puede descender circularmente para siempre.
Una formulación del axioma afirma que todo conjunto no vacío A contiene algún elemento x que no tiene elementos en común con A:
x en A
y
x inter A = {}.
El axioma de fundación facilita una concepción jerárquica del universo de conjuntos: los conjuntos se construyen a partir de conjuntos anteriores en lugar de formar ciclos de pertenencia.
El axioma de elección no forma parte de ZF.
Al añadirlo obtenemos ZFC.
De manera informal, el axioma de elección afirma que, dada una familia de conjuntos no vacíos, podemos escoger un elemento de cada uno de ellos simultáneamente, incluso cuando no disponemos de una regla explícita que indique qué elemento escoger.
Para familias finitas esta elección no presenta normalmente ninguna dificultad.
El contenido importante del axioma aparece en familias infinitas para las que no tenemos un procedimiento que produzca las elecciones.
El axioma de elección tiene numerosas consecuencias importantes y es equivalente, dentro de ZF, a otros principios conocidos, como el lema de Zorn y el teorema del buen orden.
Desde un punto de vista constructivo, el uso del axioma de elección requiere especial cuidado: una afirmación de existencia obtenida mediante una forma no constructiva de elección puede no proporcionar un procedimiento para calcular el objeto cuya existencia se afirma.
El axioma de elección y sus diferentes formas merecen un tratamiento separado.
Los axiomas anteriores no proporcionan una operación general que convierta cualquier descripción imaginable en un conjunto.
En su lugar, partimos de conjuntos cuya existencia está garantizada y utilizamos operaciones permitidas para obtener otros.
De manera esquemática:
* podemos obtener el conjunto vacío; * podemos agrupar conjuntos ya existentes; * podemos tomar uniones; * podemos tomar conjuntos potencia; * podemos seleccionar elementos de conjuntos existentes mediante separación; * podemos formar conjuntos de resultados mediante reemplazo; * disponemos, mediante infinito, de un conjunto suficientemente grande para construir los números naturales.
Esta disciplina evita la comprensión irrestricta que produjo la paradoja de Russell.
Una manera de comprender intuitivamente ZF consiste en imaginar los conjuntos organizados por etapas.
Comenzamos con
V_0 = {}.
En cada etapa aplicamos el conjunto potencia a todo lo construido anteriormente:
V_(a+1) = P(V_a).
En etapas límite reunimos las etapas anteriores.
La colección de todas estas etapas constituye la llamada jerarquía acumulativa.
Esta imagen explica varias características de ZF:
* los elementos de un conjunto aparecen en niveles anteriores; * no aparecen ciclos de pertenencia; * no existe un conjunto universal que contenga todos los conjuntos; * cada nuevo nivel contiene muchos conjuntos construidos a partir de los anteriores.
La construcción completa de la jerarquía acumulativa requiere ordinales y se estudiará posteriormente. Por ahora basta conservar la idea de que ZF concibe los conjuntos como organizados en niveles sucesivos.
La construcción de von Neumann muestra cómo representar los números naturales utilizando solamente conjuntos.
Definimos
0 = {}
y
S(n) = n union {n}.
Obtenemos:
0 = {}
1 = {{}}
2 = conceptos}
aunque normalmente resulta mucho más legible utilizar los nombres de los números anteriores:
2 = {0,1}
3 = {0,1,2}
4 = {0,1,2,3}.
Cada número natural contiene exactamente todos sus predecesores.
Por ello,
m < n <-> m en n.
Además, cada natural n contiene n elementos.
Así, estos objetos sirven simultáneamente como ordinales finitos y como representantes canónicos de cardinalidades finitas.
Esto no significa que hayamos descubierto que el número 3 “sea realmente” el conjunto
{0,1,2}.
Hemos construido dentro de la teoría de conjuntos un objeto que puede representar al número 3 y que satisface las propiedades estructurales que necesitamos.
En Conjuntos utilizamos pares ordenados
(a,b)
como objetos primitivos desde el punto de vista operativo.
También podemos representarlos utilizando exclusivamente conjuntos.
Una codificación habitual es el par de Kuratowski:
(a,b) := a_a_b.
Esta construcción está diseñada para satisfacer la propiedad fundamental de los pares ordenados:
(a,b) = (c,d) <-> a=c y b=d.
Lo importante no es memorizar la codificación.
Podrían utilizarse otras representaciones.
Lo importante es que hemos conseguido representar un objeto con dos componentes ordenadas utilizando únicamente conjuntos y pertenencia.
A partir de pares ordenados podemos construir productos cartesianos.
A partir de productos cartesianos podemos representar relaciones.
Y a partir de determinadas relaciones podemos representar funciones.
En una fundamentación conjuntista, una función
f:A -> B
puede representarse mediante un conjunto de pares ordenados.
Este conjunto debe satisfacer que para cada
x en A
existe exactamente un
y en B
tal que
(x,y) en f.
De esta forma podemos representar mediante conjuntos:
* números; * pares ordenados; * productos cartesianos; * relaciones; * funciones; * y muchas otras estructuras matemáticas.
Ésta es una de las razones históricas y prácticas por las que la teoría de conjuntos resulta tan útil como fundamento común de las matemáticas.
El hecho de que podamos representar números, pares o funciones mediante conjuntos no obliga a interpretar que estos objetos “sean realmente” conjuntos en un sentido filosófico.
Lo que hemos mostrado es que la teoría de conjuntos posee objetos que pueden desempeñar esos papeles y reproducir las estructuras matemáticas que queremos estudiar.
Existen otras fundamentaciones.
En teoría de tipos, por ejemplo, los tipos y las funciones pueden ocupar un papel más fundamental, sin identificar necesariamente una función con un conjunto de pares ordenados.
Por tanto, conviene distinguir dos afirmaciones:
* ZFC permite codificar una gran parte de las matemáticas utilizando conjuntos. * Toda entidad matemática es ontológicamente un conjunto.
La primera es una afirmación matemática sobre la capacidad expresiva de una fundamentación conjuntista.
La segunda es una posición filosófica adicional y no se sigue simplemente de la primera.
Conviene mantener clara la terminología:
* ZF es la teoría de conjuntos de Zermelo-Fraenkel. * ZFC es ZF más el axioma de elección.
En la práctica matemática clásica, ZFC se utiliza frecuentemente como teoría fundacional de referencia.
Sin embargo, no todas las matemáticas requieren el axioma de elección y existen diferentes posiciones acerca de qué formas de elección resultan apropiadas, especialmente en contextos constructivos.
Cuando un resultado dependa de principios no constructivos relevantes, intentaremos indicarlo expresamente.
Presentar los axiomas de ZFC no demuestra que ZFC sea consistente.
Si ZFC fuera inconsistente, sería posible derivar una contradicción y, con ella, cualquier proposición expresable en la teoría.
Los resultados de incompletitud de Gödel imponen límites importantes a lo que una teoría suficientemente expresiva puede demostrar acerca de su propia consistencia, y son aplicables a ZFC, porque como hemos visto, ZFC puede representar los números naturales y sus funciones.
Tampoco hemos demostrado que ZFC sea la única fundamentación posible ni que sea necesariamente la más adecuada para todos los propósitos.
El objetivo de este artículo es más modesto: explicar qué problema intenta resolver la teoría axiomática de conjuntos, cuáles son sus principales mecanismos y cómo puede utilizarse para proporcionar una fundamentación común a gran parte de las matemáticas.
* x en A: x pertenece al conjunto A. * x noen A: x no pertenece al conjunto A. * A sub B: A es subconjunto de B. * {}: conjunto vacío. * {a,b}: conjunto cuyos elementos son a y b. * {x en A : P(x)}: conjunto formado mediante separación por los elementos de A que satisfacen P. * P(A): conjunto potencia de A. * union A: unión de los conjuntos que pertenecen a A. * A union B: unión binaria de A y B. * A inter B: intersección de A y B. * (a,b): par ordenado. * A x B: producto cartesiano de A y B. * f:A -> B: función f con dominio A y codominio B. * :=: se define como.