Я просто хочу знать некоторые примеры функций, которые могут быть вычислены нетипизированным лямбда-исчислением, но не типизированными лямбда-исчислениями.
Поскольку я новичок, некоторые повторение справочной информации будет оценено.
Благодарю.
Редактировать: набрав лямбда-исчисление, я намеревался узнать о системе F и лямбда-исчислении простого типа. Под функцией я подразумеваю любую вычислимую по Тьюрингу функцию.
Ответы:
Хороший пример дает Godelization: в лямбда-исчислении единственное, что вы можете сделать с функцией, это применить ее. В результате нет способа написать замкнутую функцию типа , которая принимает аргумент функции и возвращает для него код Годеля.(N→N)→N
Добавление этого в качестве аксиомы к арифметике Хейтинга обычно называют «конструктивным церковным тезисом» и является сильно антиклассической аксиомой. А именно, последовательно добавлять его в HA, но не в арифметику Peano! (По сути, это классический факт, что каждая машина Тьюринга останавливается или нет, и нет вычислимой функции, которая могла бы засвидетельствовать этот факт.)
источник
Простейший ответ дается тем фактом, что типизированные лямбда-исчисления соответствуют логике (просто типизированное лямбда-исчисление -> логика предикатов; система f -> логика второго порядка), и непротиворечивые логики не могут доказать свою собственную согласованность.
Итак, допустим, что в набранном лямбда-исчислении у вас есть натуральные числа (или церковная кодировка натуральных чисел). Можно сделать нумерацию Гёделя, которая присваивает каждому члену в системе F уникальное натуральное число. Затем существует функция которая переводит любое натуральное число (которое соответствует хорошо типизированному члену в системе F) в другое натуральное число (которое соответствует нормальной форме этого хорошо типизированного термина из системы F) и делает что-то еще для любое натуральное число, которое не соответствует хорошо набранному члену в Системе F (скажем, оно возвращает ноль). Функция f вычислима, поэтому она может быть вычислена нетипизированным лямбда-исчислением, но не типизированным лямбда-исчислением (потому что последнее будет доказательством непротиворечивости логики второго порядка вf f логика второго порядка, которая подразумевает, что логика второго порядка противоречива).
Оговорка 1: Если логика второго порядка является непоследовательным, это может быть возможным , чтобы написать в системе F ... и / или может не быть возможности записи F в бестипового лямбда - исчисления - вы могли бы написать что - то, но это не может всегда завершать, что является критерием для «вычислимых».f f
Предостережение 2: Иногда под «просто набранным лямбда-исчислением» люди подразумевают «просто набранное лямбда-исчисление с оператором с фиксированной запятой или рекурсивными функциями». Это будет более или менее PCF , который может вычислить любую вычислимую функцию, как нетипизированное лямбда-исчисление.
источник
источник
источник
Одно из представлений о границах сильно нормализующих исчислений, которые мне нравятся, это угол вычислимости. В строго нормированном типизированном исчислении, таком как основное лямбда-исчисление простого типа, система F или исчисление конструкций, у вас есть доказательство того, что все термины в конечном итоге заканчиваются.
Если это доказательство является конструктивным, вы получаете фиксированный алгоритм для оценки всех членов с гарантированной верхней границей времени вычисления. Или вы можете также изучить (не обязательно конструктивное) доказательство и извлечь из него верхнюю границу, которая, вероятно, будет огромной , поскольку эти исчисления являются выразительными.
Эта граница дает вам «естественные» примеры функций, которые нельзя набрать в этом фиксированном лямбда-исчислении: все арифметические функции, которые асимптотически превосходят эту оценку.
Если я правильно помню, термины , набранные в просто типизированного лямбда-исчисления могут быть оценены в башнях экспоненциальный:
O(2^(2^(...(2^n)..)
; функция, растущая быстрее всех таких башен, не будет выражена в этих исчислениях. Система F соответствует интуиционистской логике второго порядка, поэтому вычислительная мощность просто огромна. Чтобы воспользоваться преимуществами вычислимости даже более мощных теорий, мы обычно рассуждаем в терминах теории множеств и теории моделей (например, какие порядковые числа могут быть построены) вместо теории вычислимости.источник
источник
A
такой , чтоA \ident A \rightarrow A
не странно? Это звучит абсурдно для меня, что я пропускаю?