2018-09-29 07:19:50
Для тех, кто попал сюда случайно, хочу напомнить, что необходимый прекурсор для этого журнала — "перинатальная топология" t.me/systemflow. Я и сам хотел всё это писать, но поскольку Адам, очевидно, ориентируется в математике лучше меня, оставляю для себя возможность писать более прозаически, помня о том, что большинство термов, про которые я говорю, находятся в репозитории groupoid/infinity. Желающие формальных определений могут уже ознакомиться с основами математики и программирования в виде 10 выпусков о гомотопической теории типов на сайте groupoid.space. Пока сформированы только 3 выпуска: 1-й (MLTT), 3-й (HoTT) и 8-й (Topoi). Почему я про них вспомнил, потому что сегодня речь пойдет о cohesive (связующих модальных) топосах, как важном расширении теории типов вообще и гомотопической теории типов в частности. Про cohesive топосы вы можете также прочитать у Адама в "перинатальной топологии", я же расширю это видение, чтобы читатель мог заняться компаративистикой, ведь два источника всегда лучше чем один!
Связующие модальные топосы были придуманы Ловером, как мощное средство построения сопряженных преобразований между теориями. Вообще, топосы — это про соединение категорной и топологической информации. Если быть формальным, то связанный топос — это геометрический морфизм, который генерирует сопряженную тройку модальных операторов
∫ (shape) ⊣ ♭(flat) ⊣ # (sharp).
Геометрический мортфизм — это пара функторов между категориями пучков, пучек — это предпучек с сайтом Гротендика, сайт Гротендика — это запакованная модель топологии через покрытия (я встречал в литературе три модели).
Co (C: precategory) (cod: carrier C) : U
= (dom: carrier C) ∗ (hom C dom cod)
Delta (C: precategory) (d: carrier C) : U
= (index: U) ∗ (index −> Co C d)
Coverage (C: precategory ): U
= (cod: carrier C)
∗ (fam: Delta C cod)
∗ (coverings: carrier C −> Delta C cod −> U)
∗ (coverings cod fam)
Предпучек — это просто функтор из обратной категории в категорию множеств! Тут впервые можно упомянуть зоопарк теорий множеств. Я же советую ознакомится только с тремя теориями множеств: ZFC, NBG, ETCS. Последняя теория — это категорная модель теории множеств построенная самим Ловером, чтобы пальцами можно было поводить по коммутативных диаграммах и показать что всё аксиомы теории множеств берутся из топоса.
site (C: precategory ): U
= (C: precategory )
∗ Coverage C
presheaf (C: precategory ): U
= catfunctor (opCat C) Set
sheaf (C: precategory ): U
= (S: site C)
∗ presheaf S.1
Дифференциальный связующий топос — это топос с двумя такими сопряженными тройками. Если первая тройка относится к алгебраической топологии, то вторая тройка модальных операторов относится к дифференциальной геометрии. Левый модальный оператор первой тройки, shape модалити оператор, переводит теоретико-множественные геометрические места точек (например, для S^1 =_{SET} { (x,y) \in R \times R \| x^2 + y^2 = 1} ) в гомотопическую информацию (для окружности, например, S^1 =_{HIT} { base : S^1, loop: base = base }. Таким образом, можно сказать, что шейп оператор делает из множества групоид, вытаскивая информацию о группах из топологии покрытий, которая находится в топосах. Вот как в HoTT выглядит определение этого оператора и его рекурсор:
data shape (A: U)
= sig' (_: A)
| kap (_: R -> shape A)
| kap' (_: R -> shape A)
shapeRec (A B: U) (f: A -> B)
(k: (R -> B) -> B)
(k': (R -> B) -> B)
(p1': (g: R -> B) (x: R) -> Path B (g x) (k g))
(p2': (x: B) -> Path B x (k' (\(_:R) -> x)))
: shape A -> B = split
sig' a -> f a
kap g -> k (\(x:R) -> shapeRec A B f k k' p1' p2' (g x))
kap' g -> k' (\(x:R) -> shapeRec A B f k k' p1' p2' (g x))
1.4K viewsNamdak Tonpa, edited 04:19