Понимание доказательства сильной нормализации исчисления конструкций


9

У меня есть трудности в понимании доказательства строгой нормализации для исчисления конструкций. Я пытаюсь следовать доказательству в работе Германа Гойвера «Краткое и гибкое доказательство строгой нормализации для исчисления конструкций».

Я могу хорошо следовать основной линии рассуждений. Конструкции Geuvers для каждого типаT интерпретация [[T]]ξ основанный на некоторой оценке переменных типа ξ(α), И тогда он строит некоторую интерпретацию термина(|M|)ρ основанный на некоторой оценке переменных термина ρ(x) и доказывает, что для достоверных оценок утверждение (|M|)ρ[[T]]ξ для всех ΓM:T держит.

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

Кто-нибудь может объяснить или дать ссылки на некоторые более понятные презентации доказательства?

Изменить: Позвольте мне попытаться сделать вопрос яснее. КонтекстΓ имеет объявления для переменных типа α:Aи переменные объекта. Оценка типа действительна, если для всех(α:A)Γ с ΓA: тогда ξ(α)ν(A)действует. Ноν(A) может быть элементом (SAT) и не только SAT, Поэтому нельзя определить действительный срок оценки дляρ(α), ρ(α) должен быть термином, а не некоторой функцией функционального пространства.

Редактировать 2: пример, который не работает

Давайте сделаем следующий корректный вывод:

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

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


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

Я использую обозначение Herman Geuvers (которое кажется стандартным в этой области). SATэто множество всех насыщенных наборов лямбда-выражений. Для второй строки моего вывода: Правило введения для переменных системы чистого типа. Это правило гласитΓT:sΓ,x:Tx:T где sкакой-то
Helmut

Я понимаю, как вы получили вторую строку, но это не правильная предпосылка для формирования третьей линии, не так ли? Какое правило дает третья строка.
Андрей Бауэр

Правило формирования продукта 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.