CAPíTULO 1 Conjuntos, relaciones de equivalencia y aplicaciones 1. Conjuntos La idea de conjunto es una de las más significativas en Matemáticas. La mayor parte de los conceptos matemáticos están construidos a partir de conjuntos. (Existe una aproximación funcional basada en el λ-cálculo y la Lógica Combinatoria, que hoy en día han tenido una papel fundamental en la programación funcional.) Podríamos decir que un conjunto es simplemente una colección de objetos a los que llamaremos elementos del conjunto. Esta definición nos bastará para los contenidos de este curso, pero desde el punto de vista matemático es imprecisa y da lugar rápidamente a paradojas. Desde comienzos del siglo XX esta definición dejó de utilizarse por los problemas que acarrea. Por desgracia, dar una definición precisa está bastante lejos de los objetivos de este guión. Cuando x sea un elemento de un conjunto A, escribiremos x ∈ A, que se lee “x pertenece a A”. Diremos que un conjunto A es subconjunto del conjunto B, y lo denotaremos por A ⊆ B, si todo elemento de A pertenece a B. Un conjunto A es igual que otro conjunto B si tienen los mismos elementos, a saber, si A ⊆ B y B ⊆ A. Cuando esto ocurre, escribiremos A = B. Admitiremos la existencia de un conjunto sin elementos, al que denotemos por ∅ y llamaremos conjunto vacío. 2. Operaciones con conjuntos Sean A y B conjuntos. 1) La intersección de A y B es el conjunto formado por los elementos comunes de A y de B, y lo denotamos así A ∩ B = {x tales que x ∈ A y x ∈ B}. 2) La unión de A y B es el conjunto formado al tomar todos los elementos de A y los de B. A ∪ B = {x tales que x ∈ A o x ∈ B}. 3) La diferencia de A y B es el conjunto que tiene por elementos los elementos de A que no están en B. A \ B = {x ∈ A tales que x 6∈ B} (siempre que tachemos un símbolo, estamos indicando que no se cumple la condición sin tachar; así x 6∈ B significa que x no pertenece a B, A 6= B significa que A es distinto de B, etcétera). 4) P(A) = {X tales que X ⊆ A} es el conjunto de partes de A o conjunto potencia de A. 5) El producto cartesiano de A y B es el conjunto de parejas cuya primera componente está en A y la sengunda en B. Esto se escribe de la siguiente forma. A × B = {(a, b) tales que a ∈ A y b ∈ B}. 4 2. OPERACIONES CON CONJUNTOS 5 n Al conjunto A× · · · ×A lo denotaremos por An , para n un entero positivo. El cardinal de un conjunto es el número de elementos que contiene. Usaremos ]A para denotar el cardinal del conjunto A. ]P(A) = 2]A . ](A × B) = ]A · ]B. Maxima 1: Los conjuntos en maxima se pueden definir usando llaves o bien la función set. (%i1) {a,a,b,c}; ( %o1) {a, b, c} Definamos un par de conjuntos y veamos cómo se pueden hacer las operaciones hasta ahora descritas con ellos. (%i2) A:{1,2,3,4}; ( %o2) {1, 2, 3, 4} (%i3) B:set(3,4,5); ( %o3) {3, 4, 5} (%i4) elementp(5,A); ( %o4) false (%i5) elementp(1,A); ( %o5) true (%i6) is (A=B); ( %o6) false (%i7) is (A=A); ( %o7) true (%i8) setequalp(A,B); ( %o8) false (%i9) subsetp(A,B); ( %o9) false (%i10) subsetp(A,union(A,B)); ( %o10) true (%i11) intersection(A,B); ( %o11) {3, 4} (%i12) union(A,B); ( %o12) {1, 2, 3, 4, 5} (%i13) setdifference(A,B); ( %o13) (%i14) powerset(B); {1, 2} 3. RELACIONES DE EQUIVALENCIA ( %o14) 6 {{}, {3}, {3, 4}, {3, 4, 5}, {3, 5}, {4}, {4, 5}, {5}} Nótese que el conjunto vacío se denota por {}. (%i15) is(cardinality(powerset(A))=2^(cardinality(A))); ( %o15) true (%i16) cartesian_product(A,B); ( %o16) {[1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 3], [3, 4], [3, 5], [4, 3], [4, 4], [4, 5]} Podemos además elegir los elementos de A que son impares. (%i17) subset(A,oddp); {1, 3} ( %o17) O bien las sumas de los pares del producto cartesiano con A y B. (%i18) makeset(a+b, [a,b], cartesian_product(A,B)); {4, 5, 6, 7, 8, 9} ( %o18) 3. Relaciones de equivalencia Sea A un conjunto. Una relación binaria en A es un subconjunto R de A×A. Cuando (x, y) ∈ R escribimos x R y y decimos que x está relacionado (mediante R) con y. Una relación binaria R sobre un conjunto A es una relación de equivalencia si verifica las siguientes propiedades. 1) Para todo a ∈ A, a R a (R es reflexiva). 2) Dados a, b ∈ A, si a R b, entonces b R a (R es simétrica). 3) Para cualesquiera a, b, c ∈ A, si a R b y b R c, entonces a R c (R es transitiva). Si R es una relación de equivalencia sobre un conjunto A, y a es un elemento de A, entonces la clase de a es el conjunto de todos los elementos de A que están relacionados con a, [a] = {x ∈ A tales que x R a}. Se define el conjunto cociente de A por R como el conjunto de todas las clases de equivalencia de elementos de A, y se denota por A/R. Así A = {[a] tales que a ∈ A}. R Ejercicio 1: En el conjunto Z = {0, 1, −1, 2, −2, . . .} de los números enteros, definimos la siguiente relación de equivalencia. x R y si x − y es múltiplo de 5. a) Demuestra que R es una relación de equivalencia. b) Calcula [2]. c) Describe el conjunto cociente ZR . d) ¿Qué cardinal tiene ZR ? Ejercicio 2: En el conjunto P({1, 2, 3}), definimos la siguiente relación binaria. A ∼ B si #A = #B. a) Demuestra que ∼ es una relación de equivalencia. b) Calcula [{1, 2}]. c) Describe el conjunto cociente P({1,2,3} . ∼ 4. APLICACIONES ENTRE CONJUNTOS 7 d) ¿Cuántos elementos tiene dicho conjunto cociente? Dado un conjunto X, una partición de X es una familia de subconjuntos de X, {Ai }i∈I (= {Ai tales que i ∈ I}), de forma que 1) Ai 6= ∅ para todo i ∈ I, 2) Ai ∩S Aj = ∅ para cualesquiera i, j ∈ I con i 6= j, 3) X = i∈I Ai (la unión de todos los elementos de la familia {Ai }i∈I ). Se puede comprobar fácilmente que el hecho de ser R una relación de equivalencia sobre A hace que A/R sea una partición de A. Maxima 2: Veamos cómo se pueden calcular las clases de equivalencia del conjunto A = {1, . . . , 10} sobre la relación de equivalencia x R y si x − y es un múltiplo de 3. Primero definimos el conjunto {1, . . . , 10}. Para ello hacemos una lista con los elementos del uno al diez, y luego la convertimos en conjunto. (%i1) l:makelist(i,i,1,10); ( %o1) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (%i2) s:setify(l); {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} ( %o2) Para definir la relación, usamos la función lambda, que define de forma anónima una función. (%i3) equiv_classes(s,lambda([x,y],is(remainder(x-y,3)=0))); {{1, 4, 7, 10}, {2, 5, 8}, {3, 6, 9}} ( %o3) También podríamos haber definido R, y luego calculado A/R. (%i4) R(x,y):=is(remainder(x-y,3)=0); ( %o4) R (x, y) := is (remainder (x − y, 3) = 0) (%i5) equiv_classes(A,R); {{1, 4, 7, 10}, {2, 5, 8}, {3, 6, 9}} ( %o5) Se ve que es una partición de A, pues todos sus elementos son no vacíos, disjuntos dos a dos, y la unión de ellos da A. 4. Aplicaciones entre conjuntos Sean A y B dos conjuntos. Una aplicación f de A en B, que denotaremos como f : A → B, es una correspondencia que a cada elemento de A le asocia un único elemento de B (de nuevo esta definición es algo imprecisa, pero suficiente para nuestro curso). Si a ∈ A, al elemento que le asocia f en B lo denotamos por f(a), y se llama la imagen de a por f. Los conjuntos A y B son el dominio y codominio de f, respectivamente. Llamaremos conjunto imagen de f a Im(f) = {f(a) tales que a ∈ A}. Ejercicio 3: Sea Q el conjunto de los números racionales y R el de los reales. ¿Tiene sentido decir x+1 que f : Q → R, x 7→ x−1 es una aplicación? Si f : A → B es una aplicación, diremos que f es 1) inyectiva si f(a) = f(a 0 ) para a, a 0 ∈ A, implica a = a 0 ; 2) sobreyectiva si Im(f) = B (para todo b ∈ B, existe a ∈ A tal que f(a) = b); 3) biyectiva si es inyectiva y sobreyectiva. 4. APLICACIONES ENTRE CONJUNTOS 8 Ejercicio 4: Demuestra que la aplicación f : Q → R definida por f(x) = 21 (2x + 1) es inyectiva pero no sobreyectiva. Sean f : A → B y g : B → C dos aplicaciones. La aplicación composición de f y g (también conocida como f compuesta con g) es la aplicación g◦f : A → C, definida como (g◦f)(a) = g(f(a)). Para calcular la imagen de un elemento por la composición primero aplicamos f y luego g. Ejercicio 5: Sean f : Z → Z, x 7→ x2 , y g : Z → Q, y 7→ 12 (y + 1). Calcula g ◦ f. La composición de aplicaciones es asociativa (f◦(g◦h) = (f◦g)◦h) pero no es conmutativa (f ◦ g no tiene por qué ser igual a g ◦ f). Maxima 3: Veamos como las funciones cuadrado y sumar uno no conmutan al componerlas. (%i1) f(x):=x^2$ g(x):=x+1$ (%i2) f(g(1)); g(f(1)); ( %o2) 4 ( %o3) 2 (%i4) f(g(x))=g(f(x)); ( %o4) (x + 1)2 = x2 + 1 (%i5) expand(%); ( %o5) x2 + 2 x + 1 = x2 + 1 Sea A un conjunto. La aplicación identidad en A es la aplicación 1A : A → A definida como 1A (a) = a para todo a ∈ A. Dada una aplicación f : A → B, decimos que es 1) invertible por la izquierda si existe g : B → A tal que g ◦ f = 1A ; 2) invertible por la derecha si existe g : B → A de forma que f ◦ g = 1B ; 3) invertible si es invertible a izquierda y a derecha. Una aplicación es invertible por la izquierda si y sólo si es inyectiva. Una aplicación es invertible por la derecha si y sólo si es sobreyectiva. Por tanto, una aplicación es invertible si y sólo si es biyectiva. Ejercicio 6: Sea N el conjunto de enteros no negativos. Demuestra que la aplicación f : N → N, definida por f(x) = x2 es invertible por la izquierda, pero no por la derecha. Una aplicación biyectiva f tiene una única inversa que lo es por la derecha y por la izquierda. Dicha aplicación diremos que es la inversa de f y lo denotaremos por f−1 . Ejercicio 7: Demuestra que la aplicación f : Q → Q, f(x) = 13 (2x + 1) es biyectiva. Calcula f−1 . Maxima 4: Veamos que la inversa de la función f(x) = x+1 (suponemos que el dominio y codominio son los números enteros) es g(x) = x − 1. (%i1) f(x):=x+1$ g(x):=x-1$ (%i3) f(g(x)); g(f(x)); 4. APLICACIONES ENTRE CONJUNTOS ( %o3) x ( %o4) x 9