Чи є у книзі Хотта більшість формулювачів типів зайвими? А якщо так, то чому?


14

У главі 1 та додатку А до книги Готта представлено кілька сімей примітивних типів (типи всесвіту, залежні типи функцій, залежні типи пар, типи копродукції, порожній тип, тип одиниці, тип натурального числа та типи особи) для формування фундаменту для теорії типу гомотопії.

Однак здається, що з урахуванням типів Всесвіту та залежних типів функцій ви можете побудувати всі ці інші "примітивні" типи. Наприклад, тип порожній замість цього можна визначити як

ΠT:U.T

Я припускаю, що інші типи також можуть бути побудовані аналогічно тому, як вони знаходяться в чистому CC (тобто просто вивести тип із індуктивної частини визначення).

Багато з цих типів явно викликають надмірність типів індуктивних / W, які вводяться в главах 5 і 6. Але типи індуктивних / W є не обов'язковою частиною теорії, оскільки є відкриті питання щодо їх взаємодії з HoTT (на принаймні на час виходу книги).

Тому я дуже розгублений, чому ці додаткові типи представлені як примітивні. Моя інтуїція полягає в тому, що фундаментальна теорія повинна бути максимально мінімальною, і перевизначення надмірного порожнього типу як примітивного в теорії видається дуже довільним.

Чи був зроблений такий вибір

  • з якихось метатеоретичних причин, про які я не знаю?
  • з історичних причин зробити так, щоб теорія типу виглядала як теорії минулого типу (які не обов'язково намагалися бути основоположними)?
  • за "зручність" комп'ютерних інтерфейсів?
  • якась перевага в пошуку доказів, про які я не знаю?

Подібно до: Мінімальна специфікація теорії типів Мартіна-Лефа , /cs/82810/reducing-products-in-hott-to-church-scott-encodings/82891#82891


Вони зайві, але не так, як ви пропонуєте. Ви повинні запитати себе, якій цілі служить "мінімальність фундаменту"? А ми дбаємо про мету?
Андрій Бауер

1
Я припускаю, що технічна робота мінімальна за домовленістю, де речі не повинні бути мінімальними, якщо це очевидно зручно або прямо вказано інше. Книга навіть дотримується цього в інших місцях, наприклад, коли вона визначає типи усікання (визначені правилами, але явно не мінімальні). Наприклад, якби я бачив натів, визначених у термінах 0,1,10, наступника та енергетичної операції, я був би розгублений, але я міг би принаймні зрозуміти, чому це нотаріально зручно. Хотт - це набагато складніша область дослідження, і я хочу знати, чи не пропускаю я нічого очевидного.
user833970

1
Мені було б дуже цікаво почути про те, як вони можуть бути шкідливими. Чи варто мені поставити нове запитання з цього приводу?
user833970

1
@AndrejBauer Я хотів би знати, чому вони також будуть шкідливими. Моє міркування вважати, що основоположна мова повинна бути мінімальною - це міркування за бритвою оккаму, це невиправдано додає складності. Навіщо зупинятися на цьому? Чому б не додати також списки, рядки, пари, трійки, вектори? Це здається довільним вибором, що їх виправдовує? Редагувати: Я щойно помітив, що на це питання є відповіді; але я залишу цей коментар тут лише заради того, щоб зазначити, чому я теж зацікавився цим.
MaiaVictor

1
Я напишу пост у блозі.
Андрій Бауер

Відповіді:


14

Дозвольте пояснити, чому запропоноване кодування порожнього типу не працює. Нам потрібно бути чіткими щодо рівнів Всесвіту, а не підмітати їх під килим.

Коли люди кажуть "порожній тип", вони можуть означати одну з двох речей:

  1. Одного типу , який є порожнім щодо всіх типів. Такий тип має правило виключення: для кожного п і типу родини A : E U п , існує відображення й н , : Е .ЕнА:ЕUнен,А:ЕА

  2. Сімейство типів , по одному для кожного рівня Всесвіту kЕкк , таке, що є "порожнім типом U k ". Такий тип повинен задовольняти E до : U до , очевидно, а також: для кожного типу сім'ї A : E доU до , існує відображення е до , : E доA .ЕкUкEk:UkA:EkUkek,A:EkА

Без будь-яких застережень, коли люди кажуть "порожній тип", вони очікують першого значення вище.

Як ми можемо отримати ? Перша спроба могла бути чимось на зразок E = Π ( T : U )E але саме такий вид підмітання під килимом створює плутанину. Ми повинні записати явні рівні Всесвіту. Якщо ми пишемо щось на зразок E k = Π ( T : U k )

E=Π(T:U).T
тоді ми отримуємо послідовність типів E 0 , E 1 , E 2 , , по одному для кожного рівня k . Ми можемо сподіватися, що ця послідовність є порожнім типом у значенні, наведеному вище, але це не так, оскільки E k знаходиться в U k + 1, але, як передбачається, він знаходиться в U k .
Ek=Π(T:Uk).T
E0,E1,E2,kEkUk+1Uk

Ще одна спроба - але тепер ви повинні пояснити, що таке " Π n ". Ви можете спокуситись сказати, що існує тип L всесвітніх рівнів, і тому E = Π ( n : L )

E=Πn.Π(T:Un).T
ΠnL Ти тепер потрапив у пастку, бо я запитаю: у якому Всесвітіживе E ? І в якому Всесвітіживе L ? Це не вийде.
E=Π(n:L).Π(T:Un).T
EL

Є рішення, відоме як непередбачувана всесвіт . Це магічний Всесвіт який має властивість, що задається B : U UB:UUΠ(X:U)B(X)UUΠ(X:U)XU

Безпосередні всесвіти можуть бути влаштовані. Однак відома теорема про Тьєррі Кокенда (якщо я не помиляюся) показує, що наявність двох непередбачуваних всесвітів, одного міститься в іншому, призводить до суперечності.

Мораль розповіді полягає в тому, щоб просто аксіоматизувати порожній тип безпосередньо і перестати кодувати речі.


Це переконливі міркування для аксіоматизації порожнього типу, але мені все ще цікаво міркування аксіоматизувати всі ті важчі речі.
MaiaVictor

@MaiaVictor: на відміну від чого?
Андрій Бауер

Вибачте? Я просто маю на увазі, що ви переконливо виправдали, чому добре аксіоматизувати порожній тип зокрема. Але ОП також запитав про інші речі: "типи всесвіту, залежні типи функцій, типи залежних пар, типи копродукції, порожній тип, тип одиниці, тип натуральних чисел та типи ідентичності" (які, як я вважаю, є також примітивами в системі, запропонованій у HoTT книга). (Я, очевидно, не прошу вас виправдовувати усіх, просто проявляючи мій інтерес.)
MaiaVictor

@MaiaVictor: Історія з іншими типами дуже схожа. Наприклад, тип одиниці виглядає трохи так, як його можна кодувати як 1=Х:U(ХХ)

@IngoBlechschmidt цікаво дізнатися, які проблеми! Мені це добре здається ...
MaiaVictor

15

Ви задаєте кілька питань, схожих, але чітких.

  1. Чому книга HoTT не використовує кодування Церкви для типів даних?

    Церковні кодування не працюють в теорії типу Мартина-Лефа з двох причин.

    нк<н

    По-друге, навіть якщо ви визначили типи даних, як натуральні числа з кодуванням Церкви, для того, щоб робити докази з цими типами, вам потрібні принципи індукції, щоб довести речі про них. Для отримання принципів індукції для кодування Церкви потрібно використовувати аргумент, заснований на параметричності Рейнольдса, а питання про те, як інтерналізувати принципи параметричності в теорію типів, досі не врегульовано повністю. (Найсучаснішими є параметричні квантори для теорії залежних типів Нюйца, Веццосі та Девріеса 2017 року. Зверніть увагу, що це добре після написання книги HoTT!)

  2. Далі ви запитуєте, чому фундамент не мінімальний. Це фактично одна з відмінних соціологічних особливостей типотеоретичних основ - теоретики типу вважають наявність невеликого набору правил технічною зручністю без особливого фундаментального значення. Набагато важливіше мати правильний набір правил, а не найменший набір правил.

    Ми розробляємо теорії типів, які використовуються математиками та програмістами, і це дуже, дуже важливо, щоб докази, зроблені в рамках теорії типів, були тими, які математики та програмісти вважають виконаними належним чином. Це тому, що аргументи математики, як правило, вважають гарним стилем, як правило, будуються за допомогою ключових алгебраїчних та геометричних принципів області дослідження. Якщо вам доведеться використовувати складні кодування, тоді значна частина структури втрачається або приховується.

    Ось чому навіть типово-теоретичні виклади класичної логіки пропозицій незмінно дають усі логічні сполучники, хоча формально це еквівалентно логіці лише NAND. Звичайно, всі булеві сполучники можуть бути кодовані NAND, але це кодування затемнює структуру логіки.


Дякую за цю відповідь! Мені потрібно прочитати цей документ (і ваш), і це може мати більше сенсу. Але я думав, що ієрархія Всесвіту була розроблена так, щоб вона виглядала так, як ви можете робити предикативні речі: наприклад (λA: U.λa: Aa) (ΠA: UA → A) буде знехтувати (λA: Un + 1.λa: Aa) (ΠA: Un.A → A). Я думаю, що це дивний редакторський вибір не пояснювати цього, кожна логічна книга, яку я знаю, вказує на ще кілька мінімальних кодувань, таких як CNF, DNF, NAND тощо. І кожен, хто використовується для встановлення теорії, очікує "природного" кодування Натів, щоб продемонструвати цю теорію. Але це можуть бути просто мої класичні упередження.
user833970

це має бути "непередбачуваним" в моєму останньому коментарі
user833970

(Т:Uн).ТUнUн+1Uн

Можливо, я щось нерозумію щодо ієрархій Всесвіту. Я думав, що нас ніколи не хвилює, в якому конкретному Всесвіті знаходиться тип, тільки що всесвітні номери можуть бути призначені, коли ми хочемо перевірити підтвердження. Тож технічно ΠT: UT - це сімейство типів, індексованих над всесвітами. Так само, як поліморфна ідентичність - це сімейство типів, індексованих над всесвітами. Але хіба ми не маємо тієї самої проблеми з поліморфною ідентичністю? Я дуже вдячний, якби ви могли розширити останні два речення, я не думаю, що я розумію.
user833970

Коли ви говорите, що він не має правильних властивостей усунення, ви маєте на увазі, що після закріплення Всесвіту з'являються типи у вищих всесвітах, які не можуть бути безпосередньо синтезовані терміном ΠT: Un.T?
user833970
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.