Розуміння доказу сильної нормалізації обчислення конструкцій


9

У мене є труднощі в розумінні доказів сильної нормалізації для числення конструкцій. Я намагаюся дотримуватися доказів у роботі Германа Гейвера "Короткий і гнучкий доказ сильної норми для обчислення конструкцій".

Я добре дотримуюся основної лінії міркувань. Конструкції Гюверса для кожного типуT тлумачення [[T]]ξ на основі деякої оцінки змінних типів ξ(α). А потім він конструює якусь термінову інтерпретацію(|M|)ρ ґрунтуючись на деякій оцінці термінних змінних ρ(x) і доводить, що для достовірних оцінок твердження (|M|)ρ[[T]]ξ для усіх ΓM:T тримає.

Моя проблема: для легких типів (наприклад, типів системи F) інтерпретація типів [[T]]ξ це дійсно сукупність термінів, тому твердження (|M|)ρ[[T]]ξмає сенс. Але для більш складних типів тлумачення[[T]]ξце не сукупність термінів, а сукупність функцій якогось відповідного простору функцій. Я думаю, я майже розумію побудову функціональних просторів, однак вона не може присвоїти жодного значення(|M|)ρ[[T]]ξ для більш складних типів T.

Чи може хтось пояснити або дати посилання на деякі більш зрозумілі виклади доказу?

Редагувати: Дозвольте спробувати зробити питання зрозумілішим. КонтекстΓ має оголошення для змінних типів α:Aі об'єктні змінні. Оцінка типу діє, якщо для всіх(α:A)Γ з ΓA: тоді ξ(α)ν(A)є дійсним. Алеν(A) може бути елементом (SAT) і не тільки SAТ. Тому не можна визначити дійсну оцінку термінуρ(α). ρ(α) повинен бути терміном, а не якоюсь функцією простору функції.

Редагувати 2: Приклад, який не працює

Зробимо наступне дійсне виведення:

[]:axiom[α:]α:variable introduction[α:]:weaken[](Πα:.):product formation[β:Πα:.]β:(Πα:.)variable introduction

В останньому контексті має бути задоволеною дійсна оцінка типу ξ(β)ν(Πα:.)={f|f:SATSAT}. Для цього виду оцінки не існує дійсної термінової оцінки.


1
Половина людей, які читають це, подумають про це SATє СБ. Ви повинні пояснити, що це таке. Крім того, ваше виведення здається трохи дивним. Другий рядок не повинен згадуватиα на завершення він повинен прочитати щось подібне [α:]:, чи не слід?
Андрій Бауер

Я використовую позначення Германа Гейвера (що, здається, є стандартним у цій галузі). SAT- це сукупність усіх насичених наборів лямбда-виразів. Для другого рядка мого виведення: Правило введення змінних системи чистого типу. Це правило читаєтьсяΓT:sΓ,x:Tx:T де sє якась.
гельмут

Я розумію, як ви отримали другий рядок, але це не правильна передумова для формування третього рядка, чи не так? Яке правило дає третій рядок.
Андрій Бауер

Правило формування продукту PTS говорить r(s1,s2,s3;ΓA:s1;Γ,x:AB:s2Γ(Πx:A.B):s3. Облік конструкцій має правилоr(,,). Це дозволяє мені використовувати перший і другий рядок для отримання третього. Однак у мене на посаді був помилковий помилок. Тип у третьому рядку відсутній, який я додав зараз.
Гельмут

Не повинен тоді читати перший рядок []:? Або ти змішався і десь? Другий рядок не може бути другою передумовою правила формування продукту, тому що це означає, що ви намагаєтесь сформувати щось подібнеα:.α замість α:..
Андрій Бауер

Відповіді:


6

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

Я не впевнений, що я розумію суть вашої плутанини, але я думаю, що важливе, що слід зазначити, це наступна лема (слідство 5.2.14), доведена в класичному тексті Барендрегта :

ΓM:T  ΓT: or 

Це означає, що поки [[T]]ξ може бути якась складна функція, якщо ΓM:T утримує, значить [[T]]ξ має бути сукупністю термінів .

Про це йдеться у контурі (розділ 3.1), де (|t|)σ[[T]]ξ тільки якщо Γt:T:, що вирівнюється з нашим очікуванням, що полягає в тому, що інтерпретація типу повинна бути набором термінів, тобто V()P(Term) (дійсно, V()=SAT!)

Типова ситуація в теорії типів, що, хоча нас цікавить лише "базовий вид" (тут)), нам ще належить визначити семантику для речей вищих видів (звідси необхідність ввести SAT). Тоді речі складаються наприкінці, тому що єдиний вид, який населяють типи, є, але це не дуже важливо).


1
Дякую за пояснення. Це вирішує мою проблему нерозуміння функцій, використаних у доказі Джувера. У мене вже були підозри в читанні та перечитуванні паперів Джувера, але ви зробили це кришталево зрозумілим.
Гельмут
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.