“Sorpresa sumando potencias de 2” en Haskell

Recientemente, se publicó en Gaussianos el artículo Sorpresa sumando potencias de 2 en el que se comentaba cómo, a partir de las representaciones de los números naturales como sumas de potencias de 2 se puede obtener una enumeración de los racionales. También se comentaba la equivalencia de la numeración anterior con el recorrido en anchura del árbol de Calkin-Wilf.

A partir de dicho artículo y sus fuentes (el artículo de Neil Calkin y Herbert S. Wilf Recounting the rationals y el artículo de la wikipedia Calkin-Wilf tree), he elaborado la siguiente relación de ejercicios de Haskell para la asignatura de Informática de 1º del Grado en Matemáticas.

En la relación se incluye tanto la construcción de las dos enumeraciones en Haskell como la verificación de sus propiedades con QuickCheck. Finalmente, se incluye el cálculo del número de las representaciones hiperbinarias mediante la función “fucs”.