Существует ли типизированное лямбда-исчисление, которое является последовательным и полным по Тьюрингу?

20

Существует ли типизированное лямбда-исчисление, в котором соответствующая логика в соответствии с соответствием Карри-Ховарда непротиворечива, и где для каждой вычислимой функции существуют лямбда-выражения с типизацией?

Это, по общему признанию, неточный вопрос, в котором отсутствует точное определение «типизированного лямбда-исчисления». Мне в основном интересно, есть ли (а) известные примеры этого или (б) известные доказательства невозможности чего-либо в этой области.

Редактировать: @cody дает точную версию этого вопроса в своем ответе ниже: существует ли логическая система чистого типа (LPTS), которая является последовательной и завершенной по Тьюрингу (в определенном ниже смысле)?

Морган Томас
источник
2
Не существует рекурсивно аксиоматизируемого исчисления (лямбда-выражения и т. Д.), Чье доказуемо полное рекурсивное вычисление является рекурсивным, поэтому ваше исчисление должно включать в себя не заканчивающиеся термы.
Эмиль Йержабек поддерживает Монику
2
В этом ответе есть теорема, которая гласит, что у вас не может быть никакого вида исчисления, которое было бы полным и тьюринговым .
Андрей Бауэр
1
Он, скорее всего, ответит на ваш вопрос, как только вы сделаете его достаточно точным. Я думаю, что доказательство Андрея излишне сложно (но оно показывает больше): дело в том, что если бы существовала эффективно описанная система, в которой все рекурсивные функции были бы представлены таким образом, что вы можете синтаксически подтвердить, что выражение является честным представлением рекурсивная функция (например, проверяя, правильно ли она введена в системе), тогда вы получите универсальную тотальную рекурсивную функцию, что невозможно.
Эмиль Йержабек поддерживает Монику
1
Конечно, классическим ответом на этот вопрос может быть: типизированный λ исчисление с типами пересечений , поскольку он вводит все (и только те) члены, которые сильно нормализуются. Это скорее философский вопрос, чтобы спросить, допускает ли исчисление «интерпретацию Карри-Ховарда».
cody
2
Трудно быть более точным здесь, потому что вопрос не точный.
Андрей Бауэр

Ответы:

21

Хорошо, я расскажу об этом: в общем, для системы данного типа верно следующее:T

Если все члены типа хорошо в исчислении нормализуются, то T является последовательным, когда рассматривается как логика.TT

Доказательство, как правило, основывается на предположении, что у вас есть термин типа F a l s e , с использованием приведения субъекта для получения нормальной формы, а затем на основе индукции по структуре такого термина для получения противоречия.absurdFalse

Естественно задаться вопросом, верно ли обратное, т.е.

Для любой системы типа , если T является логически последовательным , то каждый правильно типизированный терм в Т нормализуется.TTT

Проблема с этим заключается в том, что нет реального наиболее общего понятия «системы типов» и еще меньше согласия относительно значения логической согласованности для таких систем. Тем не менее, мы можем эмпирически проверить, что

Для большинства известных систем типов, которые имеют логическую интерпретацию, обратное действительно имеет место.

Как это связано с полнотой Тьюринга? Ну, например, если проверка типов разрешима , то аргумент Андрея показывает, что должно выполняться одно из следующего :

  1. Набор всех хорошо типизированных программ не является полным по Тьюрингу.
  2. Существует не заканчивающаяся хорошо типизированная программа.

Это говорит о том, что:

Тип система , которые имеют логическую интерпретацию и согласующиеся и являются перечислимыми которые не Тьюринг.

Чтобы дать реальную теорему, а не предложение, необходимо сделать математически точным понятие систем типов и логических интерпретаций.

Теперь на ум приходят два замечания:

  1. Существует неразрешимая система типов, система типов пересечений, которая имеет логическую интерпретацию и может представлять каждую нормализующую терму. Как вы заметили, это не совсем то же самое, что завершить по Тьюрингу, поскольку может потребоваться обновить (на самом деле) тип функции total перед применением ее к желаемому аргументу. Исчисление является исчислением "стиля карри" и равно STLC + Γ M : τλ и ΓM:τσ

    ΓM:τΓM:σΓM:τσ
    Ясно, что «интерпретация»=приводит к непротиворечивой логической интерпретации.
    ΓM:τσΓM:τΓM:τσΓM:σ
    =
  2. Существует класс систем типов, Системы Чистых Типов , в которых такой вопрос может быть уточнен. Однако в этом контексте логическая интерпретация менее ясна. Может возникнуть соблазн сказать: «PTS непротиворечив, если он имеет необитаемый тип». Но это не работает, поскольку типы могут жить в разных «вселенных», где некоторые могут быть последовательными, а некоторые нет. Кокванд и Гербелин определяют понятие логических систем чистого типа , в которых вопрос имеет смысл, и показывают

    Каждый непоследовательный, независимый LPTS имеет циклический комбинатор (как и Turing Complete)

    Который отвечает на вопрос в одном направлении (не соответствует TC) в этом случае. Насколько я знаю, вопрос для общего LPTS остается открытым и довольно сложным.


Изменить: Обратный результат Кокванд-Гербелин не так просто, как я думал! Вот что я придумала до сих пор.

Логический Чистая Тип системы является ВТС с (по крайней мере) сорта и Т у р е , (по крайней мере) аксиомой Р г о р : Т у р е и (по крайней мере) правило ( Р г o p , P r o p , P r o p ) , с дополнительным требованием, чтобы не было видов P p o p .PropTypeProp:Type(Prop,Prop,Prop)Prop

Теперь я собираюсь принять конкретное утверждение о полноте Тьюринга: исправить LPTS и пусть Г будет контекстомLΓ

Γ=nat:Prop, 0:nat, S:natnat

являетсяполной по Тьюрингутогда и только тогда, когда для любой итоговой вычислимой функции f : NN существует такой термин t f , что Γ t f : n a tn a t и для любого n N t f ( S n 0 ) β S f ( n ) 0Lf:NNtf

Γtf:natnat
nN
tf (Sn 0)βSf(n) 0

Теперь аргумент диагонализации Андрея показывает, что существуют не заканчивающиеся типа n a t .tnat

Теперь кажется, что мы на полпути! Учитывая не заканчивающийся термин , мы хотим заменить вхождения n a t на некоторый универсальный тип A и избавиться от 0 и S в Γ , и у нас будет наше несоответствие ( A обитаемо в контексте A : P r o p )!Γloop:natnatA0SΓAA:Prop

К сожалению, это то, где я застреваю, поскольку легко заменить на тождество, но от 0 гораздо сложнее избавиться. В идеале мы хотели бы использовать некоторую теорему Клини о рекурсии, но я еще не понял этого.S0

Коди
источник
Итак, первые два уточнения о вашем замечании (1). Что вы имеете в виду, когда говорите, что эта система типов пересечений не является рекурсивно перечислимой? Конечно, набор теорем системы повторен, потому что вы дали это как простое исчисление секвенций. Кроме того, результат, который я вижу доказанным в статье, которую вы связали, состоит в том, что термины, вводимые в систему, являются в точности строго нормализующими терминами; но не отличается ли это от того, что он может набирать в точности все вычисляемые функции? Например, не сильно нормализуется, но не тотально? λx.xx
Морган Томас
Теперь вопрос о вашем замечании (2). Мне кажется, что теорема, которую вы цитируете, не является тем, что нас интересует. Она говорит, что для каждого независимого LPTS, если он противоречив, то он завершается по Тьюрингу. Но мы хотели бы знать, является ли для каждого LPTS, если он завершен по Тьюрингу, он непоследователен. Я что-то здесь неправильно понимаю?
Морган Томас
@MorganThomas: Ах, вы правы насчет первого пункта: я хотел сказать, что система типов не может быть разрешимой , то есть, если , утверждение Γ t : A неразрешимо. Я исправлю это в посте. Γ,t,AΓt:A
Коди
Второй момент: вы также правы, что можно иметь не тотальную функцию, которая хорошо типизирована (хотя не обязательно применять ее к заданному аргументу). Я исправлю ответ.
Коди
1
Третий пункт. Вы снова правы! Однако обратное (в частном случае LPTS) довольно тривиально. Я изложу аргумент.
Коди
11

Вот ответ на вариант уточнения @ cody моего вопроса. Существует непротиворечивая LPTS, которая является полной по Тьюрингу в грубом смысле @ cody, если мы разрешаем введение дополнительных аксиом и правил редукции. Таким образом, строго говоря, система не является LPTS; это просто нечто очень похожее на одно.β

Рассмотрим исчисление конструкций (или ваш любимый член куба). Это LPTS, но мы собираемся добавить дополнительный материал, который делает его не LPTS. Выберите постоянные символы nat , 0 , S и добавьте аксиомы:λnat,0,S

0 : nat S : nat nat

nat:
0:nat
S:natnat

Индексируйте программы машины Тьюринга по натуральным числам, и для каждого натурального числа выберите постоянный символ f e , добавьте аксиому f e : nat nat , и для всех e , x N добавьте правило β- сокращенияefefe:natnate,xNβ

fe(x)βΦe(x),

где , как обычно является выходом е й машины Тьюринга программы по х . Если Φ e ( x ) расходится, то это правило ничего не делает. Обратите внимание, что при добавлении этих аксиом и правил теоремы системы остаются рекурсивно перечислимыми, хотя ее набор правил β- редуцирования больше не разрешим, а просто рекурсивно перечислим. Я считаю, что мы могли бы легко разрешить множество правил β- редуцирования, четко указав детали модели вычислений в синтаксисе и правилах системы.Φe(x)exΦe(x)ββ

Теперь эта теория явно завершена по Тьюрингу в грубом смысле Коди, просто грубой силой; но утверждают, что это также соответствует. Давайте построим модель этого.

U1U2U3

  • ,N,0,SU1S
  • abUiaUi
  • A,BUiBAUi
  • AUif:AUiaAf(a)Ui

Ui

vU2vIv

  • Iv(x)=v(x)x
  • Iv()=U1,Iv()=U2
  • Iv(nat)=N,Iv(0)=0,Iv(S)=S
  • Iv(fe)=ΦeNNe
  • Iv(AB)=Iv(A)(Iv(B))Iv(A)Iv(B)Iv(AB)=0
  • Iv(λx:A.B)aIv(A)Iv[x:=a](B)
  • Iv(Πx:A.B)=aIv(A)Iv[x:=a](B)

AIv(A)U3vA:BvA:BIv(A)Iv(B)ΓA:Bvvx:C(x:C)ΓvA:B

ΓA:BΓA:Bx,yy:x:yy

β

Морган Томас
источник
2
Afe(x)Φe(x)ιββfe(x)ιβ
Я думаю ты прав. Это не моя сфера деятельности, поэтому я немного неуклюже делаю вещи. :-) Я думаю, что ваше доказательство работает, и одно интересное следствие, если я прав, состоит в том, что эта теория не обладает достаточной силой последовательности. Это выглядит как потенциально очень мощная теория, так как она имеет типы и натуральные числа, которые должны позволить вам интерпретировать теорию множеств; но, очевидно, вы не можете, потому что вы можете доказать это непротиворечиво без использования мощной теории множеств!
Морган Томас