タッパーの自己言及式
http://www.dgp.toronto.edu/people/mooncake/papers/SIGGRAPH2001_Tupper.pdf
とはののグラフを描くとこの式自体が表示されるというものだ。ここでは以下の最大の整数で日本ではガウス記号と同じ。はをで割ったあまりのこと。
この式を理解するための準備をしておこう。
(1) 2進数のの位の数字が0か1かを知る方法
シフト演算子を使いたい所であるが、これを式で表現する。2で割ると1桁右にずれるので、で割った商のの位を求めれば良い。つまり
となる。これは0または1の値をとるので、と比べて、真なら1、偽なら0となる評価を行えば良いので、
が2進数のの位の数字となる。
原論文とは床関数をとる場所が少し違うが、タッパーの自己言及式の本質は、ここにある。
(2)2次元配列と1次元配列の行き来
縦横の長方形の中の座標を縦に一列に並べる。
但し座標は及びとする。このとき、座標は番目にあることになる。
この操作の逆を考える。1次元配列の番目(最初は0番目)の要素を縦横の長方形に並べるとき、
という座標に対応する。
2023.12.25追記
言及されたという通知がきました。自己言及式だけに。