B) verificar el estado de varios [presuntos] conocimientos previos que sı́ son de uso muy frecuente,
actualizarlos en nuestra memoria colectiva, apretarles las tuercas que lo necesiten... y
C) desarrollar algunas lineas importantes de teorı́a, como las sucesivas extensiones de los números y
sus operaciones, y de las ideas que esas operaciones expresan.
Veamos un ejemplo, muy ingenuo, en el que empieza a verse todo esto.
Contar cuántos.
Es la pieza más antigua de las Matemáticas, tanto en la Historia como en la de cada uno, junto con los
números naturales, que se usan para ello. ¿Cuántas monedas tengo en el bolsillo? ¿Cuántos libros hay
en mi casa? Está claro para cada una cómo contestar, pero tomemos un ejemplo común y asequible:
¿Cuántos números menores que 20 son primos?
La manera de responder será algo ası́: reúno los números n < 20 que son primos: 2, 3, 5, 7, 11, 13, 17, 19,
luego los voy “numerando”: 2 ,3 ,5 , . . . , 19 , y concluyo que hay 8.
1 2 3 8
Puedo traducirlo de este modo a “nuestro lenguaje”:
empiezo identificando los números que pertenecen al conjunto A cuyos elementos debo contar:
A = {n ∈ N : n es un primo < 20} = {2, 3, 5, 7, 11, 13, 17, 19} ,
luego los “emparejo”: (2, 1), (3, 2), (5, 3), . . . , (19, 8), para formar una correspondencia 1 a 1 entre los
elementos del conjunto A y los de L = {1, 2, 3, . . . , 8} , y concluyo que ambos conjuntos: A y L , tienen
el mismo número de elementos: 8.
Aclaremos varias cosas:
(1) Un conjunto de pares como ése: {(2, 1), (3, 2), (5, 3), . . . , (19, 8)} es nuestra definición de función ;
la de este ejemplo va del conjunto A al conjunto N de los naturales; en general, una función f será
el conjunto formado por todos los pares (x, f (x)) con x en el “conjunto de partida”, llamado también
dominio de la función ; p.ej., el conjunto que define, para x real, la función f (x) = x2 es
{(x, x2 ) : x ∈ IR} ; son los puntos que forman lo que solemos llamar la gráfica de f (x) .
Nótese que no toda función está descrita por una fórmula, aunque eso suele ocurrir . . .
(2) . . . y que la función que he definido para contar los elementos de A , tiene la particularidad de ser
inyectiva , porque no hay dos primos p ∈ A que tengan la misma imagen f (p) ,
y como consecuencia es una biyección entre su dominio y su imagen , que es en este caso el conjunto
L = {1, 2, 3, . . . , 8} ; veamos en cambio la función definida por:
Para cada n ∈ N , sea P (n) = número de primos que son < n . Por ejemplo, P (20) = 8, P (2) = 0 .
Puesto que1 0 ∈ N, es P : N → N , y no es inyectiva (comprobarlo), pero ¿es su imagen todo N ?
(3) Qué se gana con esta ceremonia de envolver algo tan simple en tanto lenguaje; lo mismo que al meter
en su traje a un astronauta, la idea se hace exportable a sitios donde antes no llegaba: estaba claro (?)
que si a los elementos de un conjunto finito A podemos asignarles elementos, todos distintos, de otro
conjunto B , el número de elementos de B es mayor o igual que el de A ; y que no podremos hacerlo si
B es un subconjunto propio de A : “el total es mayor que una de sus partes”; y también está claro que
N es infinito: mayor que cualquier conjunto finito; pero entonces vienen las sorpresas:
1 AVISO: / N”, pero la opción dominante al final del s. XX es la nuestra, por buenos motivos.
según dónde y en qué libro, “ 0 ∈
* ya Galileo señaló en sus Diálogos sobre dos nuevas ciencias (1638) que hay tantos cuadrados como
naturales, puesto que cada natural se puede emparejar con su cuadrado, y concluyó que
no hay conjuntos infinitos que sean mayores o menores que otro;
* la sorpresa mayúscula vino en 1874, cuando Georg Cantor mostró que hay conjuntos infinitos más
grandes que N , porque no es posible (como veremos muy pronto) asignar a cada uno de sus elementos
un natural distinto. Por eso tendrá sentido decir lo mismo que ya estaba claro para los conjuntos finitos:
dos conjuntos son “igual de grandes” si hay alguna correspondencia 1 a 1 entre ellos.
Aquı́ no empezamos sabiendo qué afirmación An hay que probar; pero si observamos lo que se suma al
subir de n a n + 1 : F (r, n + 1) − F (r, n) = (r − 1)rn = rn+1 − rn , . . . la apuesta está clara:
An : F (r, n) = rn , porque si es cierta An , también es cierta An+1 ...
El problema esta vez es que ¡son todas falsas! La apuesta correcta es: F (r, n) = rn − 1 ,
porque para n = 1 : F (r, 1) = (r − 1)(1) = r1 − 1 , para n = 2 : F (r, 1) = (r − 1)(1 + r) = r2 − 1 ...
< ?? > Quien no haya reconocido que estamos sumando una progresión geométrica, haga este ejercicio:
�
n−1 rn − 1 �∞ 1
Prueba que: a rk = a . En Cálculo deducirás que rk = si |r| < 1 .
k=0 r−1 k=0 1−r
< ?? > Acerca del 0: ¿es lo mismo quedarse con 0 ovejas que con 0 sumandos, que con 0 factores?
2 Si son sospechas más sutiles que ésta. De las intuiciones MUY evidentes nos solemos fiar. En Lógica Formal, una prueba es
algo tan exactamente definido como las secuencias de teclas que pulsamos para hacer un cálculo; pero esa es otra historia...
3 Se dice también de una forma más vehemente: por reducción al absurdo.
Pruebas por inducción.
Se dice también por recurrencia4 : “se recurre a” An para probar que An+1 es cierta.
El método: aplicar al conjunto B = {n ∈ N : la afirmación An es cierta} el siguiente
Principio de Inducción:
�
o bien B = ∅ , o bien
Si B ⊂ N es tal que, ∀ n ∈ N , n ∈ B ⇒ n + 1 ∈ B , entonces:
∃ n0 tal que B = {n ∈ N : n ≥ n0 }
ATENCION a estos dos tı́picos “recursosde nuestro lenguaje”:
⇒ para “ si es cierto . . . , entonces también es cierto . . . ”
• las taquigrafı́as para frases frecuentes: ∀ para “ para cada uno de los . . . se cumple que . . . ” ;
∃ para “ hay algún . . . para el cual . . . ”
• la abstracción: pensar en “ el conjunto B = {n ∈ N : la afirmación An es cierta}” como objeto del argumento.
Primeros ejemplos:
< ?? > Probar que hay bn “posibles palabras” de longitud n , si el alfabeto tiene b letras distintas.
Prueba: Obvio para n = 1: hay una “palabra” por cada letra del alfabeto5 ; luego el conjunto B no es vacı́o.
Suponiendo que n ∈ B (lo que llamamos la hipótesis de inducción), es decir, que nuestra afirmación se cumple
para un n dado, ¿por qué se cumple también para n + 1?
Porque con cada una de las bn palabras distintas de longitud n , podemos formar b palabras distintas de longitud
n + 1, añadiéndole al final cada “letra” del alfabeto. Y las bn × b = bn+1 palabras producidas de ese modo son
todas distintas, y son todas las posibles de esa longitud. � ¿Lo ves todo claro?
Cada detalle de esta Prueba puede detallarse más, si el interlocutor —que puedo ser yo mismo— lo
necesita para ver todo claro; NO HAY un nivel de detalle establecido por la Ley ...
Y ésta era una Prueba en el estilo “formal-habitual”, aplicando el Principio de Inducción;
pero he aquı́ otra que tiene forma “anecdótica”: puede ayudarnos a “ver por qué” y a crear lazos con
ideas cercanas, pero depende por eso mismo de los parentescos de lo que estamos diciendo:
Si el “alfabeto” es L10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, las ‘palabras’ de longitud n son lo que escribimos tras el punto
decimal al dar un x = k/10n ∈ [0, 1), como por ejemplo: 0.618034, (n = 6). ¿Cuántos hay de esos x?
< ?? > Otro ejercicio:
(i) observar (para n = 1, 2, 3, . . . ) cuánto vale la suma de los n primeros impares: 1 + 3 + · · · + (2n − 1) ;
(ii) hacer una conjetura sobre el caso general; (iii) probarla por inducción.
< ?? > Am : El entero m > 1 es primo o producto de primos.
La novedad aquı́ es que la afirmación Am no implica por sı́ sola lo mismo para m + 1 .
Pero probemos Bn : “Am se cumple si 1 < m ≤ n”.
Con esta Bn , todo se reduce a la definición de primo, porque
B2 es cierta (2 es primo), y suponiendo cierta Bn , o bien n + 1 será primo, o será el producto
n + 1 = m1 m2 de enteros m1 , m2 ∈ (1, n] , que caen bajo esa “hipótesis de inducción” Bn , luego son
primos o productos de primos ⇒ su producto también lo es; al añadir a Bn lo que acabamos de probar
para n + 1 , resulta Bn+1 . �
Esto es un ejemplo del Principio de Inducción “fuerte”:
Si B ⊂ N cumple ∀n ∈ N que: {0, . . . , n} ⊂ B ⇒ n + 1 ∈ B , entonces: 0 ∈ B ⇒ B = N .
Meditar: ¿Por qué “fuerte”, si se puede obtener como consecuencia del anterior ??
Un chiste adicional: si recordamos que “un producto de 0 factores es = 1” , también m = 1 cumple esto!
< ?? > Hay infinitos primos. Probemos esta vez An : “el número de primos es ≥ n ” .
Lo sabı́a Euclides, 300 años a.d.C. Y esto prueba que era sobreyectiva la función P (n) definida ayer.
Prueba: Si sabemos que hay n primos distintos p1 , p2 , . . . , pn , ninguno de ellos puede ser uno de los
factores primos del entero m = 1 + p1 p2 · · · pn , luego hay algún primo más.
Por ejemplo, 1 + 2 · 3 · 5 · 7 · 11 = 2311 , tiene que ser primo o producto de primos > 11 . ¿Cuál de las dos ...?
Y una pregunta tonta: ¿podemos arrancar esta prueba desde A0 : “el número de primos es ≥ 0” ??
La más visible diferencia entre ellas: la primera está dada por una fórmula; es además una de las
bernar Toggle
tı́picas “funciones del Cálculo”, del tipo más simple posible: un
The Sage Notebook
Version 5.0.1
polinomio,
Home
y estaremos
Published Log Settings
habituados
Help Report a Problem
a Sign out
2
“visualizarla” por medio de su gráfica: el conjunto de los puntos (x, y) que cumplen y =
grafs2what
x Save
Save
. & quit Discard & quit
Ahora recordemos que File...
el conjunto
Action...
de esos
Data... sage
pares (x, x2 ), que visualizamos como
last edited on July 21, 2012 03:23 PM by bernar
Typeset
puntos del plano, es lo
Print Worksheet Edit Text Undo Share Publish
que hemos adoptado como definición formal de la función x2 : IR → IR ; todo eso es igual para la otra;
podemos “pintar” losPn puntos (n, p(n)) para
= [(n,len(prime_range(n))) for un
n incierto
point(Pn,pointsize=35,aspect_ratio=1)
intervalo de naturales n y ver lo que resulta como
range(21)]
“la gráfica de P ”:
Y lo de que sea “una fórmula” tampoco está muy bien definido: no dudaremos que ex y sen(x) son
#-------------------------- para 'cubics'
sym = line([(0.5,-0.35),(0.5,0.88)],linestyle='dashdot', thickness=1)
“fórmulas”, y ademássol tienen su tecla en la calculadora (ex quizá con el “nombre propio” de esta función:
= [0.5+sqrt(0.75),0.5-sqrt(0.75)]
pun = [(sol[0],0),(sol[0],0.5),(sol[1],0.5),(sol[1],0),(0,0),(0,-.25),(0.5,-.25)]
exp , sen quizá en latı́n: sin ); pero mientras los polinomios, como
lev = line(pun,linestyle='dashed',thickness=0.7,color='black')+
f = x^2-x
f (x) = x2 , p(x) = x3 − 3x + 2 ,
point(pun[1:3])
sólo “combinan sumas y productos”, la calculadora va a tener que hacer un misterioso proceso para
graf1 = plot(f, x,-.45,1.45, axes='None') +sym + lev
graf1 += (text('x = a',(0.5,0.05),color='black')+text('c',(0.05,0.53),color='black'))
contestar: 544.57191 cuando yo le pida exp(6.3). Sin duda más complicado que el necesario para
#---------------
fi = x-1/x
calcular P (20) , que dia
en =el LAB también podremos ejecutar con “una fórmula”:
line([(-1.5,-1.5),(1.5,1.5)],linestyle='dashed',thickness=0.52,color='black')
graf2 = plot(fi,x,-2,-.5)+plot(fi,x,.5,2, aspect_ratio=1) + dia
#---------------
len(prime range(20))
sym = line([(-1,0.2),(-1,1.9)],linestyle='dashdot', thickness=1)
cub = x^3+3*x^2-2*x+1
Y la diferencia de fondo entre esto y un “nombre propio” como el ‘P (n)’ que hemos dado a esa función
graf3 = plot(cub/5,x,-3.8,1.8) +sym
graf3 += (text('s = 0',(-1,0.12),color='black')+text(' t',(2,0.2),color='black'))
es que Sage tiene un proceso preparado (como el exp de la calculadora) para hacer ese cálculo.
#---------------
graf4 = plot(x^3-3*x,x,-2.3,2.3,thickness=3,color='black')
graf4 += (plot(x+1/x,x,0.2,2.3)+plot(x+1/x,x,-2.3,-0.2))
2
La otra diferencia obvia entre x y P (n) es que ésta sólo acepta y devuelve naturales; pero hay ejemplos
#---------------
N = 100
mucho más variados; recordemos para empezar el tipo de funciones que aparecen en Algebra Lineal:
gan = [(0,0)]+[(-cos(k*pi/N),sin(k*pi/N)) for k in range(N)] +[(1,0),(3,0)] +[(3,0),(4,0)]
graf5n= line(gan[:103],aspect_ratio=1,thickness=3,axes=False) + line(gan[103:],linestyle='dashed',thickness=3)
reciben un vector de IR y devuelven otro (de la misma dimensión o no)
graf5 += text('la "curva-gancho" que forman', (2.7, 0.4), color='black')
� � �
#--------------- � � �� �
x
r = sqrt(3)
y1 3 −4 1 x 1
→ =
z = [(-.8,0),(.4,.4*r),(.4,-.4*r),(-.8,0)]
x y
c = (.8+1/0.8)/2 2
4 3 2 x
w = [(-1/0.8,0),(1/1.6,r/1.6),(1/1.6,-r/1.6),(-1/0.8,0)]
2
xs = [(-2*c,0),(c,0.4*(r-1/r)),(c,-0.4*(r-1/r))]
Generalicemos la idea: una función f puede “recibir” cualquier tipo de valores de entrada (input),
graf6 = point(z,pointsize=25)+line(z) +point(w,pointsize=25)+line(w)+point(xs,pointsize=55)
+line(gan[:N+3],linestyle='dashed',thickness=3)
determinado por la definición de f , y “devolverá” el correspondiente valor de salida (output):
graf6 += text('*',(-0.8^3,0),fontsize=35)
#---------------
alp = 0.85; g = 2*pi/3
conjunto de posibles conjunto donde están
z = [(cos(alp),sin(alp)),(cos(alp+g),sin(alp+g)),(cos(alp-g),sin(alp-g)),(cos(alp),sin(alp))]
f
w = [(cos(alp),-sin(alp)),(cos(alp+g),-sin(alp+g)),(cos(alp-g),-sin(alp-g)),(cos(alp),-sin(alp))]
valores de entrada
xs = [(2*cos(alp),0),(2*cos(alp+g),0),(2*cos(alp-g),0)] los valores de salida
−→
graf7 = point(z,pointsize=25)+line(z) +point(w,pointsize=25)+line(w)+point(xs,pointsize=55)
que acepta f
+line(gan[:N+3],linestyle='dashed',thickness=3) que devuelve f
graf7 += text('*',(cos(3*alp),sin(3*alp)),fontsize=35)