La formule autoréférente de Tupper est une inégalité à deux variables. Lorsque l'ensemble des points du plan qui satisfont cette inégalité sont tracés, une partie du plan représente la formule elle-même. Créée par Jeff Tupper en [1], il s'agit d'un exemple d'autoréférence.
Si on trace le graphe de l'ensemble des points (x,y) qui satisfont l'inégalité de Tupper sur la restriction du plan à 0 < x < 106 et k < y < k+17, on obtient le graphe suivant[1],[5] :
Fonctionnement
Du fait de la partie entière et du modulo 2, la partie droite de l'inégalité ne peut prendre comme valeur que 0 ou 1. Les solutions de l'inégalité sont donc celles de l'égalité :
On pose q le quotient de la division euclidienne de par 17 et r son reste : et . On peut écrire : . L'équation précédente devient (en divisant par la puissance de 2 plutôt qu'en multipliant par son opposé) :
Dans cette formule, la partie entière de la division de q par permet d'obtenir le -ième bit de q[6].
De façon générale, la formule de Tupper décode une image matriciellemonochrome stockée dans une constante q. Le bit de poids faible de q encode le pixel du coin inférieur gauche de l'image, les 17 premiers bits de poids faibles encodent la colonne de pixels la plus à gauche, les 17 bits suivants encodent la 2e colonne la plus à gauche, ainsi de suite.
Lorsqu'elle est appliquée à tous les nombres y positifs, l'inégalité trace une bande verticale contenant toutes les images possibles de 17 pixels de hauteur. La tranche située entre k et k+17 décrit la formule elle-même, mais ce n'est qu'un cas particulier : toutes les autres formules possibles sont également décrites ailleurs, pour peu qu'elles tiennent sur 17 pixels de hauteur.
Historique
Jeff Tupper publie la formule dans un article pour le SIGGRAPH (une conférence annuelle sur l'infographie), discutant des méthodes de tracés analogues à celle employée par GrafEq(pt), un programme de représentation graphique[1].
Tupper a composé depuis des versions étendues de sa formule originale, qui excluent tout le plan sauf une zone particulière[7].