55. Коллатц как вечный двигатель на ограниченном топливе¶
← 54. Соседи за горизонтом · Оглавление · 56. Первопричина Коллатца →
Lean-источник:
Engine/CollatzEngine.lean(структурные факты:even_marginal,odd_accel_ascends,not_descent_on_odd,trivial_halt_cycle),Engine/CollatzFuel.lean(k1_step_grows,k2_step_drops,no_monotone_height),Engine/CollatzTugOfWar.lean(проверен, core Lean, аксиомы[propext, Quot.sound]; секция «Опровержение = двигатель» — стандартная тройка черезClassical.em):engine_at_most_one_rank,rope_pulls_one,rope_pulls_two,window_budget,window_descends, ГЕРОЙreaches_one_of_countingLaw,nonDescendingOrbit_is_perpetual_engine; универсальная формаRopeCountingLawопровергнута 🟢 (not_ropeCountingLaw_27,ropeLaw_universal_refuted; свидетель n = 27 закрыт вычислениемcounts_le_70_at_27,counts_at_70_at_27и леммой циклаcycle_countsчерезoddCount_add/evenCount_add); per-n форма жива (countingLaw_4). Числа:tools/RESULTS_collatz.md(харнессыcollatz_engine_harness.py,collatz_fuel_harness.py). Обозначения: 🟢 — доказано машинно; 🔴 — открытый именованный вход.
Где мы¶
Основная линия провела единый запрет no_infinite_descent через свои маски (маска — большая задача,
прочитанная через запрет двигателя; см. словарь) и арифметический зоопарк.
Коллатц — самая странная из них: здесь «двигатель» не суррогат, а буквальный объект на ℕ.
Это приложение переводит гипотезу на язык двигателя и каната, показывает, где именно она нарушает наши законы (и почему от этого трудна), и доводит зелёную механику до именованного закона каната — который в универсальной форме мы здесь же опровергаем свидетелем n = 27. Что стало с декретом на этом законе — в главе 56.
Карта: Коллатц через линзу двигателя¶
Определение 55.1 (ускоренная карта Коллатца). Карта \(T\colon\mathbb N\to\mathbb N\) задаётся правилом $\(T(n)=\begin{cases}n/2,&n\equiv 0\ (\mathrm{mod}\ 2),\\ (3n+1)/2,&n\equiv 1\ (\mathrm{mod}\ 2)\end{cases}\tag{55.1}\)$ — вынужденное деление на 2 после нечётного шага вложено в саму карту. Сопоставление с двигателем Евклида:
| Элемент двигателя | Коллатц | Статус |
|---|---|---|
спуск (A·h' < h) |
чётный шаг n ↦ n/2 (высота ×½) |
спуск ровно на 2 — край (2·(n/2) = n, не строгий при A=2) |
| топливо «+1» (восхождение) | нечётный шаг 3n+1 (×3 и +1) |
восхождение n < 3n+1 — буквально «+1 = впрыск топлива» |
| остановка (всегда) | достижение 1 (минимум) |
открыто (гипотеза Коллатца) |
| цикл = возврат | нетривиальный цикл | открыто (нет до ~10²⁰) |
| необратимость | детерминированный вперёд | да, но без строгого Ляпунова |
Где Коллатц нарушает наш закон — и почему он от этого труден¶
Двигатель Евклида останавливается гарантированно, потому что каждый шаг — строгий спуск
(A·h' < h), и тогда no_infinite_descent даёт H(t) < H₀/Aᵗ < 1. У Коллатца этого закона нет.
Теорема 55.2 (odd_accel_ascends). Для нечётного \(n\ge 1\) ускоренный шаг строго поднимает высоту:
$\(n<\frac{3n+1}{2}=T(n)\qquad (n\equiv 1\ \mathrm{mod}\ 2).\tag{55.2}\)$
Теорема 55.3 (not_descent_on_odd). Для нечётного \(n\ge 1\) шаг не является спуском: \(\neg\,(T(n)<n)\).
Следовательно, высота вдоль орбиты не StrictAnti, и закон no_infinite_descent неприменим.
- численно (
RESULTS_collatz.md): пик/старт достигает 53930× (n = 159487) — высота гуляет вверх на 4–5 порядков до спуска. Строгого монотонного Ляпунова нет.
Вывод 1. Коллатц — это вечный двигатель Евклида, у которого сломан 2-й закон в строгой форме:
впрыск топлива (+1 в 3n+1) временно поднимает высоту, поэтому no_infinite_descent к нему
неприменим. Именно поэтому остановка Коллатца открыта, а у двигателя Евклида — доказана.
Конечно ли топливо? — Да, в среднем (но не для каждого)¶
«Топливо конечно» ⟺ траектория ограничена (не уходит в ∞). Меряем баланс (RESULTS_collatz.md):
- halvings / triplings = 2.016 > порога
log₂3 = 1.585: чтобы погасить одно×3, нужно ≥ 2 деления (one_tripling_needs_two_halvings:2 < 3 ≤ 4); фактически 2.016 — спусков с запасом. Топливо нетто-расходуется; - геом. дрейф за шаг = 0.864 (= √(3)/2 ≈ 0.866) < 1: каждый шаг в среднем множит высоту на 0.864 — сжатие. Двигатель в среднем едет вниз;
- все n ∈ [2, 200000] достигают 1 — чужих циклов (вечных двигателей) в диапазоне нет.
Но это закон среднего, а гипотеза требует «каждая траектория останавливается». И монотонной
высоты нет даже после сжатия odd-блоков: сжатый шаг n ↦ (3n+1)/2^k при k = 1 (≈50%, n ≡ 1 mod 4)
растит значение (k1_step_grows), при k ≥ 2 — падает (k2_step_drops).
Теорема 55.4 (no_monotone_height). Восходящие позиции неограниченны: для всякого \(N\) найдётся \(n>N\)
с \(n\equiv 1\ (\mathrm{mod}\ 4)\) и \(n<(3n+1)/2\) (свидетель \(n=4N+5\)). Поэтому монотонной \(\log_2\)-высоты
нет 🟢.
Вывод. Значит Lyapunov нет, и наш EPMI (требует строгого спуска каждый шаг) к Коллатцу неприменим. Коллатц — двигатель на ограниченном топливе по энергии, но не EPMI-двигатель. Это точная граница между доказанными законами и открытостью.
Перетягивание каната (мультипликативно, без логарифмов)¶
Читаем словами автора: «двигатель продвигается не более чем на 1 ранг вперёд за шаг, канат тянет на 1 или 2 ранга назад; топливо кончится — двигатель стянется к старту». Ранг = двоичный порядок; «+1 ранг» = не более удвоения, «−1» = ровно половина. Зелёная механика:
| Элемент метафоры | Лемма | Статус |
|---|---|---|
| двигатель ≤ +1 ранг за шаг | engine_at_most_one_rank : T n ≤ 2n |
🟢 |
| честная цена двигателя (×1.5, не ×2) | engine_exact_fuel : 2·T n = 3n+1 |
🟢 |
| канат тянет на 1 | rope_pulls_one : 2·T n = n (чёт) |
🟢 |
| канат тянет на 2 | rope_pulls_two : 4·T²n = n (n ≡ 0 mod 4) |
🟢 |
| бюджет топлива окна | window_budget : 2^e·T^k(n) ≤ 2^t·n |
🟢 |
| канат перетянул ⟹ спуск | window_descends : t < e ⟹ T^k(n) < n |
🟢 |
| «топливо кончится — притянет к началу» | reaches_one_of_countingLaw (ГЕРОЙ) |
🟢 условно (per-n) |
| закон доминирования каната (универсальный) | RopeCountingLaw |
🟢 ОПРОВЕРГНУТ (n = 27) |
Бюджет окна. Каждый рывок каната множит значение ровно на ½; каждый ход двигателя — не более чем на 2.
Теорема 55.5 (engine_at_most_one_rank). Один ход двигателя поднимает не более чем на ранг:
\(T(n)\le 2n\) для всех \(n\) 🟢.
Теорема 55.6 (window_budget). За окно из \(k\) шагов, среди которых \(t=\mathrm{oddCount}(k,n)\) нечётных
и \(e=\mathrm{evenCount}(k,n)\) чётных, границы перемножаются при любом порядке шагов:
$\(2^{e}\cdot T^{k}(n)\;\le\;2^{t}\cdot n.\tag{55.3}\)$
Это чистая \(\mathbb N\)-арифметика: floor-деления съедены точностью пошаговых границ, логарифмы не нужны 🟢.
Теорема 55.7 (window_descends). Если канат перетянул окно строго (\(t<e\)) и \(n\ge 1\), то значение
строго упало: \(T^{k}(n)<n\) 🟢. (Из (55.3): \(2^{t+1}\le 2^{e}\) даёт \(2\cdot T^{k}(n)\le n\).)
Лестница героя. Герой здесь — в домовом смысле: центральная условная теорема ветви, доводящая закон до цели (см. словарь).
Определение 55.8 (RopeCountingLaw, закон доминирования каната, счётная форма). Для \(n\) закон гласит:
в каждой позиции орбиты над поглощающим циклом найдётся окно с чётным перевесом,
$\(\mathrm{RopeCountingLaw}(n)\;:\equiv\;\forall j,\ \bigl(2<T^{j}(n)\ \Rightarrow\ \exists k,\ \mathrm{oddCount}(k,T^{j}(n))<\mathrm{evenCount}(k,T^{j}(n))\bigr).\tag{55.4}\)$
Лестница RopeCountingLaw n → (бюджет окна, Теорема 55.6) → ValueDescentLaw n → (индукция по потолку
значения) → достижение 1.
Теорема 55.9 (reaches_one_of_countingLaw, ГЕРОЙ). Если \(n\ge 1\) и выполнен
\(\mathrm{RopeCountingLaw}(n)\), то \(\exists K,\ T^{K}(n)=1\) 🟢. Это условная теорема о конкретном \(n\) —
«дай закон для этого \(n\), и получишь остановку»; сама лестница зелена целиком.
Что теперь нельзя — это раздать посылку всем n сразу: универсальная форма закона ниже опровергнута (n = 27). Герой остаётся честным условным движком; ложна оказалась не механика, а обещание, что топливо у каждого n перетянет из старта.
Три честности (что зелено, а что нет)¶
- Мост приговорённого.
Теорема 55.10 (valueLaw_iff_reaches_one). Для \(n\ge 1\) ценностная форма закона эквивалентна
сходимости: \(\mathrm{ValueDescentLaw}(n)\iff \exists K,\ T^{K}(n)=1\) 🟢. Сама по себе она содержания не
добавляет. Содержательна только счётная форма (Определение 55.8); её обратная сторона (сходимость ⟹
счётный закон) не утверждается — бюджет окна односторонен.
2. Отказ от «канат вдвое сильнее». Форма 2·odd < even отвергнута: эмпирически на ускоренной карте
e ≈ 1.016·t (halvings/triplings = 2.016, минус 1 халвинг, съеденный ускорением) — порог e > 2t
ложен в среднем. Взят точный порог e > t — ровно тот, что зелёная граница ×2 конвертирует в спуск.
Запас ~1.6% — цена отказа от log₂3 (настоящий спуск требует лишь e > 0.585·t, но это уже логарифмы,
не core Lean).
3. Стена k=1 и ловушка хвоста. single_window_fails/no_single_step_law 🟢: окно длины 1
проваливается на каждой нечётной позиции (семейство 2N+1) — полное согласие со стеной
no_monotone_height; закон обязан жить на окнах ≥ 2. Гард «значение > 2» обязателен: в цикле 1→2→1
t ≥ e во всех окнах (countingLaw_1 — вакуумная истинность: закон выполняется даром,
см. словарь) — без гарда закон был бы ложен для
всякой сходящейся траектории.
Теорема 55.11 (countingLaw_4). Закон каната выполнен для \(n=4\) по-настоящему (невакуумно):
\(\mathrm{RopeCountingLaw}(4)\), единственная позиция над циклом — старт, где окно \(k=2\) (4→2→1) даёт
\(t=0<e=2\) 🟢.
Опровержение закона: карабкающаяся орбита 27¶
Универсальную форму закона каната мы больше не выдаём в кредит: она ложна, и свидетель — конкретный объект, удостоверяющий утверждение (см. словарь), — самое знаменитое в фольклоре Коллатца число, n = 27. Его орбита долго карабкается: с 27 она поднимается до пика 4616, прежде чем сдаться.
И вот в чём загвоздка. Закон каната требует, чтобы в каждой позиции
выше цикла — в том числе с самого старта, из позиции j = 0 — нашлось окно, где чётных шагов строго
больше нечётных. У орбиты 27 такого окна из старта нет ни одного: пока число лезет вверх, шаги
нечётно-тяжёлые, и разность evenCount − oddCount в префиксных окнах никогда не становится
положительной.
Теорема 55.12 (counts_at_70_at_27). Орбита 27 приходит к единице за 70 ускоренных шагов:
$\(\mathrm{oddCount}(70,27)=41,\quad \mathrm{evenCount}(70,27)=29,\quad T^{70}(27)=1.\tag{55.5}\)$
То есть 41 ход двигателя против всего 29 рывков каната; канат в сумме отстаёт на 12 — и из старта
ни разу не вырывается вперёд 🟢 (машинная проверка).
А хвост дефицит не отыгрывает. После 70-го шага орбита падает в поглощающий цикл 1→2→1, где шаги идут строго парами — один нечётный, один чётный. Каждая пара добавляет по единице и туда, и сюда, так что отставание каната в −12 замирает навсегда: ни одно окно от старта его не перевернёт. Красивая метафора «топливо кончится — двигатель стянется к старту» верна по исходу (27 всё-таки достигает 1), но не по той сильной пошаговой причине, которую формулировал закон.
Ядро проверяет это без веры на слово. Префикс до k = 70 включительно закрыт прямым вычислением
(counts_le_70_at_27: во всех этих окнах even ≤ odd; counts_at_70_at_27: ровно 41 против 29 и финиш
в 1). Хвост в вакууме закрывает лемма цикла cycle_counts — через аддитивность счётчиков по конкатенации
окон (oddCount_add, evenCount_add).
Итог раздела.
Теорема 55.13 (not_ropeCountingLaw_27). Закон каната ложен для \(n=27\): \(\neg\,\mathrm{RopeCountingLaw}(27)\).
Из позиции \(j=0\) (значение \(27>2\)) ни одно окно не даёт перевеса каната — префикс до \(k=70\) закрыт
вычислением, хвост — леммой цикла 🟢.
Теорема 55.14 (ropeLaw_universal_refuted). Универсальная форма закона ложна:
\(\neg\,\forall n\ (1\le n\Rightarrow \mathrm{RopeCountingLaw}(n))\); свидетель \(n=27\) (Теорема 55.13) 🟢.
Граница-декрет на этом законе невозможна. Причём 27 не одинок: харнесс находит целое семейство
нарушителей — 27, 31, 41, 47, 54, 55, … Все они карабкаются, и у всех канат из старта не перетягивает.
Примечание. Урок честный, и он не отменяет чисел. Средний дрейф ×0.864 остаётся законом — но законом среднего по орбите. Префиксно-оконная форма требовала большего: доминирования каната из каждой позиции, включая подъём, — а карабкающиеся орбиты этого не дают. Ранняя предупредительная лампочка уже мигала: «стена k = 1» (
single_window_fails) показывала, что на нечётной позиции окно может проваливаться. Орбита 27 — та же стена, только выросшая до целого подъёма. Что стало с декретом, который стоял на этом законе как на четвёртой границе первопричины, — в главе 56.
Неубывающая орбита = вечный двигатель¶
По директиве автора это доказано зелёно и станет мостом к главе 56:
Теорема 55.15 (nonDescending_engine_never_loses). Пусть \(n\ge 1\) и орбита неубывающая
(\(n\le T^{k}(n)\) для всех \(k\)). Тогда двигатель выигрывает или сводит вничью каждое окно навсегда:
\(\mathrm{evenCount}(k,n)\le \mathrm{oddCount}(k,n)\) для всех \(k\) 🟢 — прямо из бюджета окна (Теорема 55.6).
Бесконечная подпитка без единого проигранного окна — это и есть вечный двигатель.
Теорема 55.16 (nonDescendingOrbit_is_perpetual_engine). Для \(n\ge 3\) неубывающая орбита не
проигрывает окон (\(\forall k,\ \mathrm{evenCount}(k,n)\le \mathrm{oddCount}(k,n)\)) и никогда не
останавливается (\(\forall K,\ T^{K}(n)\neq 1\)) 🟢.
Теорема 55.17 (no_nonDescendingOrbit_under_countingLaw). Для \(n\ge 3\) при выполненном
\(\mathrm{RopeCountingLaw}(n)\) неубывающих орбит нет: первая же позиция даёт окно с перевесом каната и
строгий спуск ниже старта 🟢. То есть закон каната запрещает такой двигатель с первой позиции.
Нижний ранг: почему +1 запутывает 2 и 3¶
Теорема 55.18 (plus_one_full_rank_only_at_one). Для \(n\ge 1\) добавка +1 весит полный ранг только на
дне: \(3n+1=4n\iff n=1\) 🟢. Выше дна (\(n\ge 3\)) она строго суб-ранговая, \(3n+1<4n\)
(plus_one_subrank_above_one).
Теорема 55.19 (engine_confused_at_bottom). Ровно на дне выстрел двигателя попадает в чистую степень
каната: \(3\cdot 1+1=2^{2}\), причём \(T(1)=2\) и \(T(2)=1\) 🟢 (без аксиом вообще). Канат стягивает его два
шага подряд — рождается поглощающий цикл 1→2→1. На нижнем ранге тройка двигателя и двойка каната
неразличимы для +1: она составляет там целый ранг.
Философское отступление: затухающий дрейф и квантовый пол¶
Перетягивание каната — термодинамический образ, честнее логарифмов. Карта ведёт число как затухающий случайный блуждатель: двигатель (×3) впрыскивает топливо, канат (÷2) дренирует, средний дрейф отрицателен (×0.866 < 1). Это частица в потенциальной яме с трением: сколько бы её ни подбрасывало, в среднем она сползает ко дну.
Демпфированный осциллятор возвращается в покой не потому, что каждый размах меньше предыдущего (бывают всплески), а потому, что в среднем энергия уходит быстрее, чем накачивается. И здесь та же стена, что у турбулентности и простых чисел: среднее решено, судьба каждой траектории — открыта.
RopeCountingLaw пытался именовать её сильнее — «в каждой позиции найдётся окно, где канат
перетянул» — и именно эта сильная форма оказалась ложью: карабкающаяся орбита 27 держит канат позади
из самого старта. Открытое сердце — сама сходимость, и никакое известное нам счётное имя её не
подменяет. Чем закончился декрет, стоявший на этом законе, и почему решить сходимость изнутри всё
равно нельзя — в главе 56.
← 54. Соседи за горизонтом · Оглавление · 56. Первопричина Коллатца →