Яка роль двоколірного обчислення споруд?


9

Отже, я читаю трохи про розробку, зокрема, алгоритми, засновані на двоколірному обчисленні конструкції, і я трохи розгублений. Я не розумію, яка саме мета цьогоCCbiє. Здається, це ідентичноCCза винятком відмінності між неявними та явними аргументами функцій. Зокрема, я не бачу, як це дозволяє писати(id0) замість (idN0). Якщо припустити систему глобальних визначень, то,

id:(ΠA|Tуpе.(Πх:А.А))

і

id=(λA|Type.(λx:A.x)).

Чи дійсно правила дозволяють (id0)? Звичайно, синтаксис є, але я не бачу його у відносинах набору тексту. Я щось пропускаю? Чи я розумію рольCCbi неправильно?

Також, чи не втрачено майно злиття? Я думаю, моя проблема полягає в тому, що я читаю про розробку, не читаючи багато про щоССбiдо цього. Який хороший папір, який його вводить, і він один?

Редагувати: Щоб бути більш конкретним, я запитую як(iг0) приймається замість (iгN0) коли правила як явні, так і неявні Πзастосування є ідентичними modulo sytnax. Я не бачу різниці між: і | правила для обох здаються однаковими.

Редагувати: Я не говорю про неявне обчислення конструкцій, що є різною теорією і має різні правила для явногоΠ's (додаток проти покоління.)

Редагувати: Гаразд, я думаю, я починаю це розуміти, але я не відповім на це питання, поки не буду впевнений. В основному(iг0) не вводить перевірку і насправді це лише розроблено (iгN0)безпосередньо перед перевіркою типу або робиться як вторинна відповідальність алгоритму перевірки типу. По суті, ці неявні обчислення призначені для інтерфейсу (користувальницьких) мов, які розробляються у звичайні (явні) обчислення або, принаймні, явний фрагмент неявних обчислень до того, як умови перевіряються. Якщо це так, то я думаю, що бачу велику картину. Чи може хтось підтвердити це?


2
Як я вже говорив нижче, ваша інтуїція правильна: двоколірне обчислення конструкцій - це явне обчислення, в якому явно позначені аргументи, опущені користувачем, але опрацьовані "переднім кінцем". Також злиття втрачається для скорочення бета-ета, але істинно, якщо обмежено лише бета-версією.
Коді

Відповіді:


9

У «Неявному обчисленні конструкцій», що розширюють системи чистого типу із сполучним типом перетину та підтипом , Олександр Мікель вводить основні поняття для неявного обчислення конструкцій, які, на мою думку, є синонімом двоколірного обчислення конструкцій.

Сенс у тому, що (серед іншого), обчислення без сукупності явних анотацій типу скрізь. Висновок типу (однак, дуже ймовірно) буде не визначним.

У цьому обчисленні, якщо взяти iг=λх.х, тоді ви можете вивести

iг:Х:Туpе.ХХ
простим використанням явного продукту та неявних правил продукту послідовно. Тоді правило екземпляра для неявного продукту дозволяє
iг:NатNат
і так
iг 0:Nат
Система допускає зменшення об'єкта та злиття, навіть на нетипізованих умовах (що насправді не вдається обчислити з абстракційними анотаціями). Все це можна знайти в тезі Олександра, яка, на жаль, є французькою мовою. Не впевнений, що я маю кращі орієнтири для цих результатів, хоча боюся.

Першу частину вашої відповіді я знав, але, думаю, я повинен був бути більш конкретним у своєму первісному запитанні. Тобто, як саме дозволено (id 0), якщо id має тип (\ Pi X | Тип. X -> X), тому що здається, що APP правило є ідентичним як для неявного, так і явного \ Pi. У неявній обчислювальній конструкції, яка насправді є іншою теорією, це не так, оскільки воно розділене на APP та GEN. Для перевірки того, що він різний, перегляньте заголовок "Обчислення з" дійсно неявними "аргументами" в папері, на який ви посилалися.
Ентоні

1
Щодо рішучості. Папір, на яку ви посилаєтесь на здогадки, що це теорія, не можна визначити. Документ, на який він посилається (я думаю, що "оригінальне" двоколірне обчислення паперу конструкцій) стверджує, що його можна вирішити, але прямо не підтверджує. Я прочитав його після того, як я опублікував це запитання, і, здається, воно, безумовно, повинно бути вирішальним і залежно від синтаксичних обмежень зберігає згубленість. З іншого боку, я все ще застряг у своєму первісному плутанині: \
Ентоні,

Можливо, ви повинні сказати нам, на який папір ви дивитесь.
коді

2
Гаразд, я подивився на розробку та стирання в теорії типів Марка Лютера, яка, напевно, є вашою довідкою. У цьому випадку між явними та неявними продуктами немає семантичної різниці, і дійсно двоколірна система є консервативним розширенням числення конструкцій. Що трапляється, ви використовуєте розробку, щоб взяти термін без явного аргументу, щоб перетворити його на повністю анотований термін: id !1 0elaborites to id Nat 0. У цьому тексті докладно розглянуто розділ 4.
Коди

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