Оно вдохновлено реальными событиями, но то, как оно заявлено, едва узнаваемо и «следует воспринимать с подозрением» - нонсенс.
Последовательность имеет точное значение в логике: непротиворечивая теория - это теория, в которой не все утверждения могут быть доказаны. В классической логике, это равносильно отсутствию противоречия, то есть теория противоречиваесли и только если есть заявление такоечто теория доказываеткак А и его отрицание ¬ A .AA¬A
Так что же это значит в отношении лямбда-исчисления? Ничего такого. Лямбда-исчисление - это система переписывания, а не логическая теория.
Можно посмотреть лямбда-исчисление по отношению к логике. Рассматривайте переменные как представление гипотезы в доказательстве, лямбда-абстракции как доказательства в рамках определенной гипотезы (представленной переменной), а применение - как соединение условного доказательства и доказательства гипотезы. Тогда бета-правило соответствует упрощению доказательства, применяя modus ponens , фундаментальный принцип логики.
Это, однако, работает только в том случае, если условное доказательство сочетается с доказательством правильной гипотезы. Если у вас есть условное доказательство, предполагающее и у вас также есть доказательство n = 2 , вы не можете объединить их вместе. Если вы хотите, чтобы эта интерпретация лямбда-исчисления работала, вам нужно добавить ограничение, чтобы к условным доказательствам применялись только доказательства правильной гипотезы. Это называется системой типов , а ограничение - это правило ввода, которое гласит, что когда вы передаете аргумент функции, тип аргумента должен соответствовать типу параметра функции.n=3n=2
Соответствие Карри-Говарда является параллелью между типизированными исчислениями и системами доказательств.
- типы соответствуют логическим утверждениям;
- сроки соответствуют доказательствам;
- обитаемые типы (т. е. типы, в которых есть термин этого типа) соответствуют истинным утверждениям (т. е. таким утверждениям, что существует доказательство этого утверждения);
- оценка программы (т. е. правила, такие как бета) соответствуют преобразованиям доказательств (которые лучше преобразовали правильные доказательства в правильные доказательства).
Типизированное исчисление, имеющее комбинатор с фиксированной точкой, такое как позволяет создать термин любого типа (попробуйте оценить Y ( λ x . X ) ), поэтому, если вы берете логическую интерпретацию через соответствие Карри-Ховарда, вы получаете противоречивую теорию , См. Противоречит ли Y комбинатор соответствию Карри-Говарда? Больше подробностей.YY(λx.x)
Это не имеет смысла для чистого лямбда-исчисления, то есть для лямбда-исчисления без типов.
Во многих типизированных исчислениях невозможно определить комбинатор с фиксированной точкой. Эти типизированные исчисления полезны с точки зрения их логической интерпретации, но не являются основой для языка программирования, полного по Тьюрингу. В некоторых типизированных исчислениях можно определить комбинатор с фиксированной точкой. Эти типизированные исчисления полезны в качестве основы для языка программирования, полного по Тьюрингу, но не в отношении их логической интерпретации.
В заключение:
- Лямбда-исчисление не является «противоречивым», эта концепция не применяется.
- Типизированный лямбда - исчисление , что присваивает тип для каждого члена лямбды противоречив. Некоторые типизированные лямбда-исчисления похожи на это, другие делают некоторые термины нетипичными и последовательными.
- Типизированные лямбда-исчисления не являются единственным смыслом для лямбда-исчисления, и даже противоречивые типизированные лямбда-исчисления являются очень полезными инструментами - просто чтобы не доказать что-либо.