Resolución del ejercicio 3.41 de The Haskell Road To Logic, Math and Programming. Demostrar que 2n - 1 ( 2n- 1 ) es un numéro perfecto ( la suma de todos sus divisores propios es igual al mismo número ) si ( 2n- 1 ) es primo ( un primo de mersenne en realidad ). Como es primo se puede descomponer en los siguientes divisores propios:

2n - 1 ( 2n- 1 ) = 1 + 2 + 22 + …. + 2n - 1 + ( 2n- 1 ) + 2.( 2n-1 ) + 22.( 2n-1 ) + …. + 2n - 2.( 2n-1 )

= 1 + 2 + 22 + …. + 2n - 1 + ( 2n- 1 ) + ( 2n + 1 -2 ) + ( 2n + 2 - 22 ) + …. + ( 22n - 2 - 2n - 2)
Realizando las multiplicaciones de los terminos del final.

= 2n - 1 + 2n + 2n + 1 +  2n + 2 + …. + 22n - 2
Simplificando terminos equivalentes pero negativos.

= 2n - 1 ( 1 + 2 + 22 + …. + 2n - 1 )
Por propiedades de la exponenciación.

= 2n - 1( 2  - 1 + 2 + 22 + …. + 2n - 1 )
Porque 2 - 1 = 1

Y es exactamente acá donde la cosa se pone interesante.  Ya logre 2n - 1 y el - 1 en el segundo termino. Pero me queda demostrar que ( 2 +2 + 22 + …. + 2n - 1 ) = 2n .

En principio no parece demasiado complicado.. digamos:

2 + 2 = 4 = 22

22 + 22 = 8 = 23

23 + 23 = 16 = 24

…….

2n - 1 + 2n - 1 = 2n

Que se puede probar fácilmente por inducción completa.

2n = 2n - 1 + 2n - 1
1) Demostrarlo para n = 1, es trivial: 2 = 1 +1.

2) 2n = 2n - 1 + 2n - 1 => 2n + 1 = 2n + 2n
2n + 2n = 2.(2n - 1 + 2n - 1) = 2.2n (Por hipotesis) =  2n + 1

Ahora, en el texto todavía no vimos inducción y hay un capitulo entero dedicado al tema. El tema es como probar esto sin usar inducción completa. Ni la más puta idea.

DUH! Agregado ( 1 mes después releyendo mi post y sorprendiéndome por mi absoluta falta de lucidez al momento de escribirlo )

2n - 1 + 2n - 1 = 2. (2n - 1) = 2n