Що таке логарифм чи коренева операція у просторі типів?


27

Я нещодавно читав «Дві подвійності обчислення»: негативні та дробові типи . У статті розгорнуто суми та типи продуктів, надаючи семантику типам a - bта a/b.

На відміну від додавання та множення, існує не одна, а дві обертання експоненції, логарифми та вкорінення. Якщо типи функцій (a → b) є типово-теоретичною експоненцією, враховуючи тип a → b(або b^a), що означає мати тип logb(c)чи тип a√c?

Чи має сенс поширювати логарифми та корені на типи взагалі?

Якщо так, чи була якась робота в цій галузі, і які є хороші вказівки щодо того, як зрозуміти наслідки?

Я намагався шукати інформацію про це за допомогою логіки, сподіваючись, що листування Кері-Говарда може допомогти мені, але безрезультатно.

Відповіді:


40

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

Є сенс працювати з де - функтор, щоразу, коли існує логарифм, тобто . Зауважте, що якщо , ми, звичайно, маємо F \: 1 \ cong 1 , тому контейнер не повідомляє нам нічого цікавого, крім його елементів: контейнери з вибором фігур роблять не мають логарифмів.F l o glogFFFlogX(FX)FFXlogFXF11

Знайомі закони логарифмів мають сенс, коли ви думаєте з точки зору наборів позицій

log(K1)=0no positions in empty containerlogI=1container for one, one positionlog(F×G)=logF+logGpair of containers, choice of positionslog(FG)=logF×logGcontainer of containers, pair of positions

Ми також отримуємо де під палітуркою. Тобто шлях до кожного елемента в деяких кодатах визначається індуктивно, повторюючи логарифм. Наприклад,Z = l o glogX(νY.T)=μZ.logXTZ=logXY

logStream=logX(νY.X×Y)=μZ.1+Z=Nat

Враховуючи, що похідна вказує нам тип у контекстах з одним отвором, а логарифм повідомляє нам позиції, ми повинні очікувати зв'язку, і справді

F11logFF1

Там, де немає вибору форми, положення є таким самим, як контекст з одним отвором з стираними елементами. Більш загально, завжди представляє вибір форми разом з положенням елемента в межах цієї форми.FF1Ж

Боюся, що про коріння я маю менше сказати, але можна почати з подібного визначення і слідувати за носом. Щоб дізнатися більше про використання логарифмів типів, перегляньте "Пам'ять функції політипічно!" Ральфа Гінзе. Маю бігти...


3
Відповідь від самого Да Мана. Ласкаво просимо, Коноре!
Андрій Бауер

Хм, мені цікаво подивитися, що таке кореневі типи, оскільки вони потребують типів, що мають уявну кількість жителів. Якщо я не помиляюся. Я прийму вашу відповідь, але якщо у вас є час детально розробити коріння, це було б дуже вдячно.
efrey

Чи можна це якось пов’язати із рядом Тейлора ln (1 + x)?
yatima2975

2
З логарифмами та експоненціалами мені цікаво ... що нам потрібно, щоб побудувати об'єкт Неп'є ? (наприклад, нібито унікальний об’єкт, eтакий, що ∂e = e)
Римоїд

1

Я не знаю жодної роботи, яка переслідує цю лінію, але кілька моментів роздумів про це привели мене до цієї гіпотези: не був би "корінь" експоненціального типу просто кодомейн, а "логарифм" експоненціалу просто домен?


Правильно, тому я думаю, що ваша інтуїція гарна, але ваш висновок відсутній. Коренева операція та операція логарифму - це те, що ви отримуєте, коли "інвертуєте" кодомен або домен відповідно, а не самі домени (co). Питання в тому, що ми маємо на увазі під інвертуванням і що таке операція бінарного типу, яку вона виробляє?
efrey

Не впевнений, що це правильно. Якщо у мене , y- й корінь x, а базовий x- логарифм - y . Інверсія полягає в роботі, а не в компонентах. хуухху
Марк Хаманн

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

Папір, яку я зв'язав, містить семантику для типу a - bта типу a / b. Я не переймаюся результатом скорочення логарифму та кореня операцій, а розумінням їх семантики як операторів бінарного типу.
efrey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.