Где стоит глава

Главы 14.1–14.3 работали внутри одного уровня: категория как метасистема (14.1), функторы и вложение Йонеды (14.2), категория систем с ядром P3 (14.3). Эта глава делает шаг, ради которого вся иерархия и затевалась, — она строит функторы между уровнями и показывает, что их связь есть точное категорное сопряжение. Это корона Части XIV: принцип P2 (Дополнительность) получает машинную форму.

Две стрелки соединяют соседние уровни. Вложение

поднимает систему на следующий уровень; забывание

опускает её обратно — но частично (значок ). Главный результат:

— сопряжение, и это и есть P2 (Дополнительность): два дополнительных взгляда на одну структуру, ни один из которых сам по себе не полон.

Якоря сопряжения — LevelFunctors.v, LevelAdjunction.v и (для имени P2) ProcessAdjunction.v — все в основной ветке (origin/main): можно ссылаться уверенно, как в 14.3. Общая рамка «эквивалентность категорий» опирается на новый локальный слой src/category/ (помечаем отдельно).

Иерархия уровней: отношение

Стрелки embed/forget движутся вдоль хребта ToS — строгого порядка на уровнях. Тип Level порождён двумя конструкторами (дно L1 и переход к следующему LS), а отношение («уровень ниже ») есть фундированный строгий порядок. 1 Нам понадобятся ровно четыре его свойства: транзитивность (), факт (каждый уровень ниже следующего), иррефлексивность — это и есть P1 (запрет самопринадлежности в форме «уровень не ниже самого себя»), — и разрешимость сравнения. Иррефлексивность окажется тем самым местом, где forget наталкивается на обструкцию.

embed: уровень вкладывается в следующий

Вложение системы с уровня на оставляет те же элементы, тот же критерий и того же свидетеля ; меняется лишь доказательство его законности: было , стало — через транзитивность и . На элементах ничего не происходит:

дефиниционно (embed_obj_elem_eq, level_bridge); морфизм вкладывается той же функцией на элементах (embed_preserves_structure).

Это полноценный функтор — EmbedFunctor : он сохраняет тождество и композицию, верен (embed_faithful), сохраняет вложения, сюръекции и изоморфизмы (embed_ preserves_ embedding, embed_ preserves_ surjection, embed_ preserves_ iso), а пустую систему переводит в инициальную (embed_ empty_ is_ initial). 2 Содержательное прочтение прямое: нижний уровень сидит в верхнем без искажения — элементы, критерий и сеть морфизмов переносятся один в один. Уровень-структура «невидима снизу»: с точки зрения элементов и неотличимы.

forget: частичное забывание уровня

Обратный ход опускает систему с на , и здесь возникает асимметрия. Система с забываема (is_forgettable), если её свидетель строго ниже :

Только при этой гипотезе можно построить forget_obj — законность свидетеля на новом уровне даёт сама гипотеза .

Обструкция P1. Не всякая система с забываема. Возьмём систему, чей свидетель равен (witness_L_system): забыть её значило бы получить , что запрещено иррефлексивностью — P1. Поэтому (witness_L_not_forgettable)

Сама забываемость разрешима (is_forgettable_dec): для каждой системы можно вычислить, опускается она или нет.

Почему forget не упаковывается в Functor. Раз forget определён лишь на части объектов (нужна гипотеза ), он не образует instance Rocq-структуры Functor (та требует тотального fobj на всех объектах). Это не лень формализации, а честная конституция: сопряжение записано как набор standalone-лемм с явными гипотезами forgettability, а не как пара функторов. 3 Тем не менее все свойства сопряжения — хом-биекция, естественность, единица, коединица, треугольники — доказаны поточечно (следующий раздел). forget_mor верен на своей области определения и сохраняет вложения (forget_faithful, forget_ preserves_ embedding).

Сопряжение — это P2

Сердце главы. Между уровнями есть естественная биекция хом-множеств:

слева направо — adj_forward, справа налево — adj_backward; обе стороны взаимно обратны (level_adjunction) и естественны по и по (adj_natural_S, adj_natural_T, adj_naturality_square). По определению сопряжения это значит: embed — левый сопряжённый, forget — правый. 4

Единица и коединица. Единица — это изоморфизм (adjunction_unit_is_iso); более того, лейбницево (forget_embed_roundtrip). Коединица — изоморфизм для забываемых (adjunction_ counit_ is_ iso_ for_ forgettable). Оба треугольных тождества выполнены (triangle_identity_1, triangle_identity_2). Поскольку единица — изоморфизм, сопряжение «тугое»; категорно это означает, что embed вполне верен (fully faithful). Машинно явно доказана верность (embed_faithful), а полнота следует из изоморфности единицы (forget_ embed_ adjunction_ tight) — это согласуется с тем, что мы уже знали про embed напрямую. 5

Почему это P2 (Дополнительность). P2 утверждает, что у системы есть дополнительные аспекты, не специфицируемые одновременно. Категорно это и есть пара сопряжённых: embed добавляет уровень-структуру, forget её снимает — два дополнительных взгляда на одну структуру, ни один из которых сам по себе не есть полная картина. Этот тезис собран машинно: P2_categorical/P2_holds (сопряжение на каждом уровне), P2_unit_is_iso, P2_counit_is_iso_forgettable, и обобщающая P2_grand_summary. 6

Это не эквивалентность. Из обструкции P1 следует, что forget не тотален, а значит сопряжение не есть эквивалентность категорий (complementarity_not_equivalence): среди систем уровня есть незабываемые, до которых снизу не дотянуться. В этом и состоит асимметрия дополнительности (complementarity_asymmetry): вверх-и-вниз возвращает исходное (), но вниз-и-вверх покрывает лишь забываемую часть.

Эквивалентность категорий: одинаковость с точностью до роли

Сопряжение уровней — частный (и «тугой») случай. Общее понятие «две категории суть одно и то же с точностью до роли» есть эквивалентность. Мы строим её как ToS-структуру: CatEquiv несёт два функтора , и естественные изоморфизмы , . Обратные к единице и коединице несутся как данные (а не как существование внутри Prop), поэтому симметрия — чистая перестановка полей (equiv_sym). 7 Единица и коединица оказываются естественными изоморфизмами (ce_unit_is_nat_iso, ce_counit_is_nat_iso), а оба функтора — существенно сюръективны (equiv_F_ess_surjective, equiv_G_ess_surjective): каждый объект цели изоморфен образу некоторого объекта источника. Рефлексивность даёт тождественная эквивалентность (id_equiv), где все четыре естественных преобразования суть тождества. 8

Эхо P3. Эквивалентность слабее изоморфизма категорий: не требуется «в точности», а лишь . Это прямой категорный отголосок P3 из 14.3: «одинаковость» естественно мерить с точностью до изоморфизма, а не до лейбницева равенства.

Контраст с уровнями. Сопряжение даже туже, чем нужно для эквивалентности (единица — изоморфизм всегда, коединица — изоморфизм на забываемой части), — и всё же эквивалентностью не является: embed не существенно сюръективен (незабываемые системы P1). Значит сидит в как полная роль-подчасть с частичным возвратом (forget) на забываемых объектах, но не исчерпывает её. Эквивалентность же — верный масштаб «одинаковости с точностью до роли» для целых категорий, и им мы будем мерить двойственности тома в 14.5.

Разбор E/R/R: межуровневая структура как E/R/R

Правила (L5). Функторные законы embed (сохранение тождества/композиции) + законы сопряжения (треугольники, естественность по обоим аргументам) + дополнительность P2 () + обструкция P1 (forget частичен: ). Эквивалентность задаёт правило «одинаковость с точностью до роли» (эхо P3).

Роли (L4). embed — левый сопряжённый (свободно-подобное вложение); forget — правый (забывающий, частичный); единица — роль «нижнее сидит в верхнем» (iso); коединица — роль «восстановить забываемое»; эквивалентность — роль «то же с точностью до роли».

{

Элементы (L1P4). Конкретные данные: ElemOf, переносимые embed один в один (level_bridge); свидетель — вычислимый «ключ», открывающий забывание; система witness_L_system () — конкретный свидетель невозможности тотального forget. Не элемент межуровневой наблюдаемости: тотальность forget — P1 прямо запрещает её (нельзя опустить всё с на ).}

КомпонентЧто фиксируетE/R/R-категория
функторные законы embed + треугольники/естественность + P2 + P1-обструкцияконституцию межуровневой связиПравило (L5)
embedлевый сопр.; forgetправый (частичный); как ролистатус стрелок между уровнямиРоль (L4)
ElemOf; свидетель ; witness_L_systemвычислимые носители и «ключ» забыванияЭлемент (L1P4)

Диагностика P4. Почему forget частичен? Потому что иерархия обоснована: нет , шаг вниз не всегда возможен — уровень-под-собой должен реально существовать. Это не дефект, а та же конечная актуальность, что в 14.3 не позволяла поставить пустую/единичную систему на дно: «опустить уровень» осмысленно лишь там, где есть куда опускать.

Что глава подготовила

Построены функторы между уровнями: embed — полноценный верный функтор , сохраняющий вложения/сюръекции/изоморфизмы; forget — частичное забывание, ограниченное обструкцией P1 (P1_obstructs_total_forget, разрешимо). Их связь — сопряжение с биекцией хом-множеств, единицей-изоморфизмом (откуда embed вполне верен) и коединицей-изоморфизмом на забываемых; это машинная форма принципа P2 (Дополнительность). Сопряжение не эквивалентность — ровно из-за P1. Общую рамку «одинаковость с точностью до роли» даёт CatEquiv (симметрия, рефлексивность, существенная сюръективность), категорное эхо P3.

Ярусы (честно). Ядро сопряжения — LevelFunctors.v (30 лемм) + LevelAdjunction.v (25 Qed) — 0 аксиом, в origin/main. Имя P2 и монада/комонада — ProcessAdjunction.v (синтетический слой, числит classic), тоже в origin/main. Рамка эквивалентности — EquivalenceOfCategories.v (7 Qed) + IdentityEquivalence.v (2 Qed) — 0 аксиом, но локальный слой src/category/ (коммит 90ebd74), ожидает git push.

Дальше — Глава 14.5: сопряжения как универсальный язык двойственностей; правый сопряжённый сохраняет пределы (RAPL, терминальный случай — машинно); и каталог сопряжений тома (уровни здесь / Галуа из Части XI / геометрия-калибровка из Части XII) как сквозная нить.



Часть: Часть XIV. Категория систем · Том: «Математика»

Навигация: ← Глава 3. Категория систем Sys(L) · Глава 5. Сопряжения как универсальный язык двойственностей →

Footnotes

  1. src/TheoryOfSystems_Core_ERR.v: Level (L1, LS), level_lt (обозначение ), level_lt_trans (транзитивность), level_lt_LS (), level_lt_irrefl ( — это P1), level_lt_dec (разрешимость). Замечание: речь о системной иерархии Level, а не об ординалах (foundation/Ordinal.v) или геометрических уровнях DOF (foundation/LevelStructure.v) — это разные понятия «уровня». ↩

  2. src/LevelFunctors.v (30 доказанных лемм, 0 Admitted, 0 аксиом; в origin/main; из них 3 закрыты Defined. — embed_is_forgettable, embed_2_forgettable_to_LS/_to_L, — остальные Qed.): embed_obj, embed_mor, EmbedFunctor, embed_obj_elem_eq, embed_faithful, embed_preserves_iso, embed_empty_is_initial и др. ↩

  3. Ключевая ремарка src/LevelAdjunction.v (строки 11–14): «Since forget is partial (requires is_forgettable), we cannot form a proper Functor instance for it. Instead, we prove all adjunction properties as standalone lemmas with explicit forgettability hypotheses.» ↩

  4. Направление фиксируется самой биекцией. Сопряжение (где левый, правый) есть ; сопоставляя, , . Это форма «свободный забывающий»: embed свободно вкладывает, forget забывает уровень. То же подтверждают единица (вид ) и коединица (вид ). Каноническое машинное утверждение P2_categorical (ProcessAdjunction.v) формулирует ровно «Embed Forget». В старых шапках файлов (LevelAdjunction.v, ProcessAdjunction.v) может встречаться обратная словесная маркировка ролей — направление здесь фиксируется не баннером, а самой хом-биекцией: , значит . ↩

  5. src/LevelAdjunction.v (25 Qed, 0 Admitted, 0 аксиом; в origin/main): adj_forward/adj_backward, level_adjunction, adj_natural_S/_T, adjunction_unit_component/_is_iso, adjunction_counit_component, triangle_identity_1/_2, embed_reflects_iso, forget_embed_adjunction_tight, adj_preserves_iso/adj_reflects_iso. ↩

  6. src/process/ProcessAdjunction.v — синтетический P2-слой (0 Admitted; в origin/main). Файл лежит в процессном слое и импортирует Classical, поэтому наследует classic в ярусе — но переэкспортируемое ядро сопряжения суть те же 0-аксиомные леммы из LevelAdjunction.v. Здесь же — монада (которая есть тождество, monad_is_identity) и комонада (comonad_counit_is_iso). ↩

  7. src/category/EquivalenceOfCategories.v (7 Qed, 0 Admitted, 0 аксиом; локальный слой src/category/, коммит 90ebd74, ожидает git push): Record CatEquiv, ce_unit_is_nat_iso, ce_counit_is_nat_iso, equiv_F_ess_surjective, equiv_G_ess_surjective, equiv_sym, equiv_F_preserves_iso; определения is_ess_surjective/is_faithful/is_full. В отличие от LevelFunctors.v/LevelAdjunction.v (в origin/main), этот раздел опирается на локальный слой src/category/ — до push его статус не смешиваем с подтверждённым origin/main. ↩

  8. src/category/IdentityEquivalence.v (2 Qed, 0 аксиом; локальный слой): id_equiv, id_equiv_unit_components, id_equiv_ess_surjective. Вместе с equiv_sym это рефлексивность и симметрия ; транзитивность (склейка эквивалентностей) оставлена на потом. ↩