zerkalius · исследование

Щелчок по картинке — в полный размер (и ×2, ×4). Цикл Аниматрицы в Zerkalius Code на сцене «1» — что нашлось, 2026-09-24. Кратко то же — в борт-журнале (v0.089, запись после Code 35.55, и словарь). Готовым к просмотру, без разбора — «Битмультфильмы».

Коротко. Волна Аниматрицы (без нулей) — это XOR «с накоплением» по строкам. Поэтому всё решают степени двойки: цикл 128 проходов при 128 строках, у каждой строки свой период, картинка складывается из ромбов, и размер ромбов виден по двоичной записи номера прохода. Нули добавляют только разгон — к 65-му проходу они вымирают.

0Откуда числа

Журнал Аниматрицы (кнопка ⏺ Журнал в Code) со сцены «1» дал текст: 128 строк × 257 символов из «1», «0» и пробелов, проход 15. Правило волны детерминированное: каждая строка переписывается по уже переписанной строке над ней — два одинаковых символа → пробел, символ и пробел → символ, два разных → верхний. Дальше всё досчитано вне страницы тем же правилом по всем проходам. Главный вывод подтвердила сама страница на 667-м проходе: «🔁 цикл: период 128, повтор после 65-го прохода».

1Разгон и цикл 128

Нулей было 976 — они протекают вниз столбиками и гасятся друг о друга; к 65-му проходу их нет. Дальше — чистый цикл: проход 193 = проход 65, символ в символ. Если заменить нули единицами, цикл 128 идёт сразу.

16 кадров цикла через каждые 8 проходов
Цикл по 8 проходов: внешний контур не меняется, внутри «дышит» вложенный треугольник, плотность волнами.
Весь цикл из 128 проходов, анимация
Весь цикл, 128 проходов по кругу (0,35 с на проход). Собрать такой же в Code — 🎞 GIF под Аниматрицей.

2Почему 128

Без нулей проход делает строку i равной XOR всех строк над ней и её самой. Через k проходов строка собирается из строк выше с коэффициентами C(i−j+k−1, k−1) по модулю 2 — треугольник Паскаля по чётности. По теореме Лукаса (1878) через 2m проходов, если 2m ≥ числа строк, остаётся только сама строка. Отсюда период — ближайшая степень двойки не меньше числа строк: 128 строк → 128, 100 → 128, 200 → 256.

3Любой кадр — XOR сдвинутых копий

Кадр через k проходов после 65-го — это XOR копий 65-го кадра, сдвинутых вниз на все d, у которых нет общих двоичных единиц с k−1 (d & (k−1) = 0). Пример: проход 155 (он же 667-й), k = 90, k−1 = 1011001 → сдвиги 0, 2, 4, 6, 32, 34, 36, 38; проверено — совпадает символ в символ.

Все 128 проходов цикла сеткой
Все 128 проходов (65…192), над кадром — номер прохода и число единиц. Ряды по 8 держат свой мотив.

4У каждой строки свой период

строки012–34–78–1516–3132–6364–127
период1248163264128

Период строки — ближайшая степень двойки больше её номера (Лукас по одной строке: ей нужны только строки выше). Треугольник — часовой механизм: каждая полоса вдвое медленнее верхней, общий период — период нижней. В Code: ▤ Полосы периодов в «Виде».

Полосы периодов строк
Проход 155, строки окрашены по своему периоду.

5Ромбы-«кадры»

Картинка почти повторяется при сдвиге по диагонали: (16 строк, ±16 символов) — 89,5% клеток, 32 — 90%, 8 и 24 — около 70%, мимо на один символ — 59% (уровень случайности). Ромбы — 32 строки высотой, соседние сдвинуты на 16. Причины: Правило 90 ведёт узор ровно на символ за строку (диагонали под 45°), а треугольник Серпинского сложен из своих копий, сдвинутых по диагонали. В Code: ◇ Ромбическая сетка.

Проход 155 с линиями через 32 строки
Проход 155: на каждой красной линии (через 32 строки) начинается новый «кадр» мотива.

6Размер ромбов — нули в k−1

Каждый нулевой разряд 2j в двоичной записи k−1 добавляет копию со сдвигом 2j и включает ромбы этого размера. Проход 977 (k = 16, 0001111) — три размера сразу: 16, 32, 64. Проход 129 (0111111) — только 64. Проход 155 (1011001) — 32 плюс утолщения. Проход 192 (1111110) — крупных нет. В Code: сетка с шагом «авто — по проходу» рисует включённые размеры сама, с легендой.

Размеры ромбов на четырёх проходах
Сетка: зелёная — 16, жёлтая — 32, красная — 64.

7Ромбы изнутри

На проходе 155 — 21 целый ромб; с верхним совпадают на 83–97% (на средней вертикали — 97%). За весь цикл ромбов 2688 (21 место × 128 проходов), разных 1541: 1206 встречаются один раз, 130 — по 4, 128 — по 6, два почти пустых — по 20. Верхний ромб (строки 0–32) повторяется через 64 прохода, у него 64 разных кадра.

21 ромб прохода 155 подряд
21 ромб прохода 155 подряд, как кадры.
Верхний ромб за 64 прохода
Верхний ромб за свой цикл в 64 прохода.
Все ромбы прохода 155 наложены
Все 21 ромб прохода 155 наложены: жёлтое — единица во всех, тёмное — пусто во всех, фиолетовое — разнится.

8Близнецы

Почти близнецы, отличия красным
Почти близнецы: отличия (красным) — только на границе.

8½Каждый ромб — один бит

Идея пользователя: свернуть каждый ромб в один бит так, чтобы зеркальные близнецы получали одинаковый бит, а у симметричного ромба бит зависел от соседей через ось. Обоим условиям отвечает чётность ромба — XOR всех его клеток: у близнецов единиц поровну — бит один и тот же; в симметричном ромбе каждая клетка равна своей соседке через ось, пары гасят друг друга в XOR, и остаются только клетки на самой оси. А XOR — родная операция волны.

Проход 155 и его ромбы-биты трёх размеров
Проход 155 и он же из ромбов-битов: жёлтый — 1, тёмный — 0. На крупных ромбах видно ядро: жёлтая рамка и тёмная «дыра» у низа.
Цикл: кадр и его ромбы-биты рядом
Весь цикл: слева кадр, справа ромбы 8 строк как биты.

Ромбы из ромбов. Треугольник из ромбов-битов лежит в той же геометрии, что и исходный (бит через клетку, как у Правила 90), поэтому его можно свернуть ещё раз — и ещё. Лестница с ромбами высотой 4: 128 строк → 62 → 29 → 13 → 5 → 1.

ступень12345
строк · бит62 · 195329 · 43513 · 915 · 151 · 1
период128128128128128
разных кадров за цикл128128128912
Лестница ромбов из ромбов для прохода 155
Проход 155 и четыре ступени свёртки: 62, 29, 13 и 5 строк.
Ступень 4 и верхний бит по всем 128 проходам
Лента по проходам: ступень 4 (15 бит) и верхний бит; голубые метки — через 12 проходов.

8¾Зеркало через центр с XOR

Идея пользователя: на экране строки идут по кругу — снизу треугольник (начало текста, строка 0 — вершина), сверху трапеция (конец текста); они касаются в центре. Отразить нижний треугольник вверх через эту точку (строка i → строка 127−i) и сложить XOR с тем, что там есть. Треугольник симметричен слева направо, поэтому отражение через центр — то же, что отражение вверх. Сделано для верхней половины (строки 64–127), нижняя не тронута.

Проход 128: зеркало через центр с XOR
Проход 128: слева как было (середина трапеции пуста), справа — зеркало вписалось в пустоту.
Проход 155: зеркало через центр с XOR
Проход 155: совпадение 49% — XOR смешивает, середина густеет.
Зеркало-XOR по всему циклу
Зеркало-XOR на каждом кадре цикла.

И обратно: верх вниз, в противоположные стороны. Боковые части верхней трапеции отражены через центральную точку (поворот на 180°): верхний левый угол ложится в пустоту справа от нижнего треугольника, верхний правый — слева; XOR с нижней половиной. И вариант «оба сразу» — каждая половина XOR отражённая другая, от исходного кадра.

Проход 128: отражения через центр в обе стороны
Проход 128: было; верх → вниз в противоположные стороны; низ → вверх; оба сразу.
Проход 155: отражения через центр в обе стороны
Проход 155: те же четыре варианта.
Проход 155, оба сразу: шестиугольник
Проход 155, «оба сразу», крупно: шестиугольник, симметричный сверху вниз и слева направо. В Code — «⧖ Зеркало» в разделе Логика (35.58).

8⅞Надпись: ромбы как буквы

Слово пользователя, глядя на треугольник с ромбической сеткой: «почти надпись». Проверили буквально: каждый ромб сетки — буква, одинаковые ромбы — одна и та же буква, зеркальный ромб — та же буква строчной. Ромбы 16 строк, проход 155.

Проход 155: каждый ромб подписан буквой
Проход 155, каждый ромб подписан своей буквой. Цвет — номер ряда вдоль стороны: жёлтый край «аб аб…», голубой «девз…», зелёный «гжиЛ…».
Алфавит прохода 155: 26 букв
Алфавит прохода 155 по частоте: прописная — как на рисунке, строчная — её зеркало. Половина букв — почти пустые ромбы с разным краем.

9Другие треугольники: прогноз сбылся

Откуда нули: генератор «Правило 90» пишет внутри треугольника «0» там, где клетка пустая, а «Обрезать фон» превращает в пробелы только то, что снаружи; ширина — 2·строк+1 (у 128 строк — 257, как в журнале сцены «1»). Тем же способом построены треугольники на 50, 64, 100, 128, 200, 256 строк (сид «1») и прогнаны волной с нулевого прохода:

строк5064100128200256
период6464128128256256
нули вымерли, цикл с прохода33336565129129
нулей в начале208333678749141973624758975

Шире (v0.006): 17 прогонов — другие правила, сиды, без обрезки фона. Период всегда P — ближайшая степень двойки не меньше числа строк: при любом правиле, сиде, с обрезкой и без, и даже когда нули не вымирают. А вот «половина + 1» — не общий закон, а свойство треугольника Серпинского (правило 90 или 18 из одной точки, с обрезкой):

треугольник64 строки: цикл с100 строк: цикл снули
правило 90 и 18, сид 133 (= P/2 + 1)65 (= P/2 + 1)вымирают
правило 150, сид 14080 (оба — 5/8 P)вымирают
правило 30, сид 11011вымирают
правило 110, сид 188вымирают
правило 90, сид 1118—вымирают
правило 90, сиды 101, 1101, 1001133, 18, 18—живут в цикле
правило 90 и 30, без «Обрезать фон»32 (= P/2)64 (= P/2)живут в цикле

Нули вымирают не всегда: при сидах 101, 1101, 10011 и без обрезки фона они живут внутри цикла, а период всё равно P. Без обрезки цикл начинается ровно на P/2.

Правило 150 вблизи (100 строк). Исходный треугольник почти весь из нулей (7348 синих против 2652 единиц). За первые 10 проходов нулей остаётся 502, к 40-му — 16, а дальше несколько одиночек держатся до 80-го: они и тянут разгон до 5/8 периода. С 80-го — чистый цикл 128 (проход 208 = проход 80). У цикла правила 150 свой рисунок — сквозные вертикальные «стволы» и треугольники по бокам, а не дышащий вложенный треугольник, как у правила 90.

Правило 150: разгон и цикл
Правило 150: два верхних ряда — разгон (нули синие), два нижних — цикл через каждые 16 проходов.
Правило 150: анимация от исходного треугольника через разгон в цикл
Правило 150 подряд: исходный треугольник, 80 проходов разгона, затем весь цикл из 128.

Правило 30 вблизи (100 строк) — полная противоположность. Правило 30 хаотическое: в исходном треугольнике нулей и единиц почти поровну (4804 и 5196), без правильного рисунка. Нули гибнут быстро: 3360 после первого прохода, 453 после пятого, к 11-му — ни одного. Разгон — всего 11 проходов. Цикл на вид — шум без треугольников Серпинского, но строгий: период ровно 128, проход 139 = проход 11 символ в символ (4927 единиц и там, и там). Левый край треугольника правила 30 и в цикле держит правильные косые полосы, правый — хаос.

Правило 30: разгон и цикл
Правило 30: два верхних ряда — разгон почти по проходам (нули синие), два нижних — цикл через каждые 16.
Правило 30: анимация от исходного треугольника через разгон в цикл
Правило 30 подряд: 11 проходов разгона (медленнее), затем весь цикл из 128.

Правило 110 вблизи (100 строк). Из одной точки правило 110 растёт только влево, и треугольник выходит половинкой — с вертикальным правым краем. Нулей в начале 2174 при 2876 единицах; разгон самый короткий из всех — 8 проходов (1682 нуля после первого, 234 после шестого, к 8-му — ни одного). Дальше — цикл ровно 128, проход 136 = проход 8 (по 2550 единиц). Форма треугольника на период не влияет: он всё равно задан числом строк. Зеркальной симметрии у половинки, понятно, нет — «⫼ Ось симметрии» здесь ничего не покажет.

Правило 110: разгон и цикл
Правило 110: два верхних ряда — разгон почти по проходам (нули синие), два нижних — цикл через каждые 16.
Правило 110: анимация от исходного треугольника через разгон в цикл
Правило 110 подряд: 8 проходов разгона (медленнее), затем весь цикл из 128.

9½Без обрезки: у каждого столбца своя метка

Проверка пользователя: «Правило 90», 50 строк, без «Обрезать фон» — весь прямоугольник заполнен символами, вне треугольника сплошные «0», пробелов нет вовсе. Разгон 32, период 64 (как и предсказано: P = 64, без обрезки цикл с P/2). Но в цикле единиц почти не остаётся — от 1 до 50 на кадр, и все они в одном центральном столбце, под сидом; нули живут. С обрезкой — наоборот: нули вымирают полностью, единицы живут. Разгадка закрывает оба старых вопроса.

  1. Столбцы не смешиваются. Волна переписывает клетку строки r+1 только по клетке того же столбца строки r. Каждый столбец — своя одномерная волна сверху вниз; соседи друг о друге не знают.
  2. Метка ползёт сверху. Где встречаются «0» и «1», остаётся верхний. Поэтому метка самой верхней непустой клетки столбца (в исходном тексте; строка 0 волной не переписывается) постепенно заливает весь столбец. К началу цикла каждый столбец однометочный — проверено на всех кадрах цикла, метка всегда равна метке верхней клетки.
  3. Дальше — чистый XOR. В однометочном столбце правило волны — это «одинаковые → пусто, разные → символ», то есть XOR по наличию символа. Поэтому период всегда степень двойки P, какими бы ни были нули: метки просто едут на узоре XOR и на него не влияют. (Пока метки не выровнялись, «0» под «1» даёт символ, а не пусто — это и есть разгон.)
  4. Когда нули вымирают: нули живут в цикле ровно в тех столбцах, чья верхняя непустая клетка — «0». С обрезкой верх каждого столбца — край треугольника, а у Серпинского и правил 150, 30, 110 из одной точки край всегда «1» — нули вымирают. Сиды 101, 1101, 10011 оставляют «0» в строке 0 — нули живут (это и были «загадочные» строки таблицы выше). Без обрезки строка 0 — сплошные «0», кроме сида, — единицы остаются только под сидом. Закон совпал на всех 13 прогонах (правила 90, 18, 150, 30, 110; сиды 1, 11, 101, 1101, 10011; с обрезкой и без).
  5. Полосы во всю ширину на кадрах без обрезки — это фон вне треугольника: там столбцы из одних «0» однометочны с самого начала и сразу идут чистым XOR, строки мигают своими периодами — те же полосы, что в разделе 4.

Почему разгон именно такой — разобрано в разделе 9¾: без обрезки он считается точно и выходит P/2, у Серпинского с обрезкой — в разделе 12 (не всегда P/2 + 1!), у правила 150 (5/8 P) формулы пока нет.

Правило 90 без обрезки: разгон и цикл
Без обрезки: проход 0 — треугольник на сплошном «0»; к проходу 32 единиц остаётся две, все в центральном столбце; дальше цикл 64, синие «0» живут.
Правило 90 с обрезкой: разгон и цикл
Тот же треугольник с обрезкой: к проходу 33 нули вымирают, в цикле только «1».
Без обрезки: проходы 0–96
Без обрезки, проходы 0–96: разгон и полтора цикла.

9¾Доказательство: период обязан быть P

Раздел 9½ показал, что происходит: столбцы живут порознь, метка верхней клетки заливает столбец, дальше чистый XOR. Это было замечено на прогонах. Ниже — почему иначе и быть не может, при любом правиле, сиде и любых нулях.

  1. Метка столбца вечна. Строку 0 волна не переписывает, а над пустой клеткой ничего не меняется («пробел и символ → символ», «два пробела → пробел»), поэтому верхние пробелы столбца остаются пробелами, а самая верхняя непустая клетка стоит на месте и со своим символом. Это и есть метка столбца ℓ.
  2. Выше верхней чужой клетки чужому взяться неоткуда. Пока всё над ней — пробелы и ℓ, бегущий сверху накопитель бывает только пробелом или ℓ, а значит и пишет только пробел или ℓ.
  3. Над чужой клеткой правило — чистый XOR. В одномето́чной части «одинаковые → пусто», «символ и пробел → символ»: один проход — накопительный XOR сверху, то есть умножение на 1/(1+z) над GF(2).
  4. Каждая строка когда-нибудь непуста. Пусть h — половина периода строки r (период строки — ближайшая степень двойки больше её номера, раздел 4). Тогда (Phx)r = xr ⊕ xr−h, потому что (1+z)−h ≡ 1 + zh с точностью до строки r. Если бы строка r была пуста на всех проходах, пустой на всех проходах была бы и строка r−h, и так вниз до строки 0 — а она непуста всегда. Значит строка r хоть раз, да непуста.
  5. Вывод. Верхняя чужая клетка стоит ровно под такой строкой, и в проход, когда та непуста, «два разных → верхний» ставит на её место ℓ. Чистая часть столбца растёт строго вниз, чужие метки кончаются за конечное число проходов, и дальше столбец — чистый XOR. Поэтому период всегда P, а нули — лишь ярлык, едущий по узору XOR и на него не влияющий. Нелинейность волны живёт только в разгоне.

Когда нули вымирают — оттуда же: нули остаются в цикле ровно в столбцах с меткой «0». С обрезкой верх столбца — край треугольника, а он «1», кроме столбцов под самим сидом. Значит нули вымирают тогда и только тогда, когда в сиде нет нуля: 1 и 11 — вымирают, 101, 1101, 10011 — живут, и живут именно в столбцах под своими нулями. Без обрезки строка 0 — сплошные «0», кроме сида, поэтому выживают нули, а единицы остаются только в столбце под сидом (те самые «от 1 до 50 единиц на кадр» из раздела 9½).

Разгон без обрезки — ровно P/2, и это теперь считается. Столбец на отклонении d от центра: сверху d клеток сплошного фона «0», под ними край треугольника «1» — первая чужая клетка. В XOR-мире метки «0» сплошной фон — это сплошные единицы, и строка d−1 на проходе k равна C(d−1+k, k) по модулю 2; по теореме Куммера это нечётно ровно тогда, когда в двоичной записи k & (d−1) = 0. Значит верхняя чужая клетка столбца гибнет на проходе min{k ≥ 1 : k & (d−1) = 0} — совпало для всех 676 столбцов на прогонах в 50, 64, 100 и 128 строк. Максимум берётся там, где d−1 = 2j−1: тогда k обязан быть кратен 2j, то есть равен d. Наибольшее такое d ниже числа строк — это P/2, и разгон равен ему.

Проверка расчётом заодно подтвердила и то, на чём всё держится: начало цикла — это в точности тот проход, на котором гибнет последняя чужая метка (совпало на всех прогонах: 33, 33, 65, 65 у Серпинского, 40 и 80 у правила 150, 32, 32, 64 без обрезки). Разгон — это ровно время жизни нулей, а не что-то сверх него.

10Классика и своё

Классика: Лукас (1878), Глейшер (1899: в строке n треугольника Паскаля нечётных чисел 2 в степени «число единиц в двоичной записи n»), Серпинский (1915), Вольфрам с соавторами (1983–84: Правило 90 и линейные клеточные автоматы). Своё у Zerkalius — три символа и правило «два разных → верхний»: волна нелинейна, отсюда разгон с вымиранием нулей. В литературе такого варианта не встречалось, но утверждать, что его никто не изучал, нельзя.

Закрыто (v0.019, раздел 9¾): почему период не меняется от нулей — доказано: чужие метки гибнут за конечное число проходов, дальше столбец идёт чистым XOR, и нелинейность живёт только в разгоне. При каких сидах нули вымирают — тогда и только тогда, когда в сиде нет нуля. Разгон без обрезки — ровно P/2, с выводом по теореме Куммера.

Осталось: точная формула разгона у Серпинского с обрезкой — найдена и для рекордсмена выведена в разделе 12 (открыта только верхняя граница); у правила 150 (5/8 P). Известно, где искать: последними держатся не самые глубокие клетки, а вполне определённые — у Серпинского на отклонении P/4 от центра, у правила 150 на отклонении P/8 около строки 3P/4.

111024 строки и лестница размеров

Серпинский по правилу 90 (сид 1, фон обрезан), от 64 до 1024 строк, прогнан через весь цикл вне страницы — тем же правилом волны и той же переписью ромбов, что в Треугольнике (сверено с ним: 64 строки, проход 5, ромб 16 — 21 ромб, 15 рисунков, 9 букв; 128 строк, ромб 32 — те же 1541 разных рисунков, что в разделе 7).

строк N6410012825651210001024
период P6412812825651210241024
цикл с прохода336565129257513513
Первые 150 разных ромбов высотой 32 за цикл 1024 строк
1024 строки, ромб 32: первые 150 разных рисунков в порядке появления, с прохода 0 (первые — ещё разгон, с нулями; всего разных 306 443, из них в самом цикле 265 104) — то, что собирает кнопка «📦 Все ромбы цикла». Полные GIF по всем размерам (8…512, по 1500 кадров, 3–21 МБ) — локально, в archive\_issledovanie-treugolnik-1024\, вместе с таблицей и скриптом расчёта.

12Разгон: точная формула (и поправка к «P/2 + 1»)

Столбцы живут независимо (раздел 9½), клетка видит только клетки выше в своём столбце — значит, у каждой клетки треугольника своё время жизни нуля τ, и оно не зависит от того, сколько строк ниже. Посчитано для всех клеток до 1024 строк, и прямым прогоном до повтора — для каждого N от 3 до 139 и выборочно до 512.

Формула. Треугольник из N строк (правило 90, сид 1, фон обрезан) входит в цикл на проходе 2m + 1, где 2m — наибольшая степень двойки, не превышающая 2(N − 2)/3 (при N ≤ 4 — проход 1). Проверено для всех N от 2 до 1024 — без исключений.

N50…6465…9798…128129…193194…256257…385386…512513…769770…1024
период P6412812825625651251210241024
цикл с прохода33336565129129257257513

Поправка к разделам 9 и 11. «Разгон = P/2 + 1» верно только для N от 3·2m−2 + 2 до 2m — верхней четверти каждого удвоения. В остальных трёх четвертях (например, 65…97 строк при P = 128) цикл начинается вдвое раньше, с P/4 + 1: самая долгоживущая клетка ещё не вошла в треугольник. Прежние прогоны (50, 64, 100, 128, 200, 256, 512, 1000, 1024 строки) все случайно попали в «верхние четверти», поэтому закон выглядел всеобщим.

Время жизни нуля в каждой клетке треугольника из 128 строк
128 строк: цвет — сколько проходов в клетке держится «0». Кольца — рекордсмены: строка 97, отступ ±32 (τ = 64, отсюда цикл с 65-го) и строка 49, отступ ±16 (τ = 32). Обрежьте треугольник выше 97-й строки — и цикл начнётся с 33-го.

Почему рекордсмен именно такой — вывод (v0.022). Столбец с отступом a = 2k−1, сверху край треугольника «1» (строка a), глубина — от неё вниз.

  1. Исходный столбец. На нечётной глубине — «0» (чётность строки не та, правило 90 там ставит ноль). На чётной глубине 2i — C(a+2i, i) по модулю 2; при 0 < i < a это чётно: при сложении i и a+i младший разряд i переносится (Куммер). Значит под верхней «1» лежат ровно 2a − 1 нулей подряд. На глубине 2a — C(3a, a): a и 2a не пересекаются, переносов нет, нечётно — «1». На глубине 2a + 1 — снова «0»: это и есть рекордсмен, строка a + 2a + 1 = 3·2k−1 + 1.
  2. Первый проход. Верхняя «1» заливает все 2a − 1 нулей («разные → верхний») — получается сплошной блок из 2a единиц. «1» на глубине 2a встречает над собой «1» и гаснет в пробел — и этот пробел прикрывает ноль под ним («пробел и символ → символ»).
  3. Дальше блок — чистый XOR (метка одна). Клетка-щит под блоком (глубина 2a) после ещё k проходов равна Σ C(m+k−1, k−1) по m = 1…2a = C(2a+k, k) − 1 (правило хоккейной клюшки): она непуста ровно тогда, когда C(2a+k, k) чётно, а по Куммеру это k & 2a ≠ 0. Первое такое k — само 2a.
  4. Итог: щит пуст 2a проходов подряд, ноль под ним живёт до прохода 2a = 2k и гибнет на проходе 2k + 1 — ровно как в таблице.
столбец a = 4, глубина 0…11 (· — пробел)          проход 1: блок 1111 1111, щит «·», под ним рекордсмен «0»
п. 0: 100000001000    п. 3: 11··11···0··    п. 6: 1·1······00·
п. 1: 11111111·0·0    п. 4: 1···1····000    п. 7: 11·······0··
п. 2: 1·1·1·1··00·    п. 5: 1111·····0·0    п. 8: 1········000    п. 9: 111111111111 — щит непуст, ноль погиб

Отсюда и формула целиком, если никто не живёт дольше рекордсменов: треугольник из N строк содержит рекордсмена τ = 2k при 3·2k−1 + 1 ≤ N − 1, то есть 2k ≤ 2(N − 2)/3. Открыто одно: общее доказательство, что никакая другая клетка не живёт дольше (верхняя граница) — пока это проверено сплошным расчётом всех клеток до 1024 строк. (Первая догадка v0.021 — «сплошная лесенка 1 0 1 0 над рекордсменом» — была неверна: над ним не лесенка, а сплошь нули.)

13Протекание: как «1» и «0» текут с вершины вниз

Вопрос пришёл из «🗻 3D» Треугольника: на гранях пирамид видны полосы-слои, и по ним сверху вниз что-то «протекает». Что именно — видно по одной клетке и её верхнему соседу (он уже пересчитан этим же проходом).

сверху1010символпусто
снизу0110пусточто угодно
станет10пустопустосимволкак было

Закон родника. Одна «1» над пустым столбцом после k проходов стоит на глубине d тогда и только тогда, когда d & (k − 1) = 0 — это C(d + k − 1, d) по модулю 2, Куммер. По глубине и проходам — Серпинский (картинка слева).

Родник: одна «1» в пустом столбце по проходам и ось треугольника 128 строк
По горизонтали — проход, по вертикали — глубина от родника; синее — «1», серое — «0». Слева одиночная «1»: d & (k − 1) = 0. Справа настоящая ось треугольника из 128 строк: на проходе 0 — «1» и нули под ней, с прохода 1 — тот же узор, клетка в клетку.