По иронии судьбы, название является точным, но не в том смысле, в котором вы, кажется, имеете в виду, что это «является лямбда-исчислением просто условным обозначением», что не является точным.
Лямбда-термины не являются функциями 1 . Это фрагменты синтаксиса, то есть наборы символов на странице. У нас есть правила для манипулирования этими коллекциями символов, наиболее существенно сокращение бета. Вы можете иметь несколько различных лямбда-терминов, которые соответствуют одной и той же функции. 2
Я рассмотрю ваши вопросы напрямую.
Во-первых, лямбда не является именем, которое используется повторно. Это не только сбивает с толку, но мы не пишем (или ), что бы мы делали, если бы было именем для функции, точно так же, как мы пишем . В мы могли бы заменить (если он был определен лямбда-термином) лямбда-термином, производящим что-то вроде означающее выражение, которое может представлять функцию, а не объявление, объявляющее функцию (с именемλ(x)(λ x)λf(x)f(x)f(λy.y)(x)(λy.y)λили что-нибудь еще). Во всяком случае, когда мы перегружаем терминологию / нотацию, это (можно надеяться) делается таким образом, чтобы его можно было устранить через контекст, что, конечно же, не может иметь место для лямбда-терминов.
Ваш следующий пункт в порядке, но несколько не имеет значения. Это не соревнование, где есть Условия и Командные Лямбда команды, и победить может только один. Основное применение лямбда-терминов - изучение и понимание определенных видов функций. Полином не является функцией, хотя мы часто их небрежно идентифицируем. Изучение полиномов не означает, что кто-то думает, что все функции должны быть полиномами, и при этом полиномы не должны «делать» что-то «новое», чтобы их стоило изучать.
Теоретические функции множеств не являются черными ящиками, хотя они полностью определяются отношением ввода-вывода. (Они буквально являются их отношением ввода-вывода.) Лямбда-термины также не являются черными ящиками, и они не определяются их отношением ввода-вывода. Как я упоминал ранее, вы можете иметь разные лямбда-члены, которые производят одинаковое отношение ввода-вывода. Это также подчеркивает тот факт, что лямбда-члены не могут быть функциями, хотя они могут вызывать функции. 2
На самом деле, аналогия между полиномами и лямбда-терминами очень близка, и я подозреваю, что вы, возможно, не оцените различие между полиномом и функцией, которую он представляет, поэтому я уточню немного. 3 Обычно, когда вводятся полиномы, обычно с реальными коэффициентами, они рассматриваются как действительные функции определенного типа. Теперь рассмотрим теорию сдвиговых регистров с линейной обратной связью (LFSR). Это в значительной степени теория (одномерных) многочленов над , но если мы будем рассматривать это как функцию от , то таких функций будет не более . Существует, однако, бесконечное количество полиномов над . 4F2 F2→F24F2Один из способов убедиться в этом состоит в том, что мы можем интерпретировать эти полиномы как что-то отличное от функций , и на самом деле подойдет любая -алгебра. Для LFSR мы обычно интерпретируем полиномы как операции над битовыми потоками, которые, если бы мы хотели, могли бы быть представлены как функции , хотя Подавляющее большинство таких функций не было бы в образе интерпретации LFSR.F2→F2F22N→2N
Это относится и к лямбда-терминам, мы можем интерпретировать их как вещи, отличные от функций. Они также являются гораздо более удобными для работы объектами, чем обычно бесконечно бесконечные наборы функций. Они оба гораздо более вычислительные, чем произвольные функции. Я могу написать программу для работы с полиномами (с коэффициентами, по крайней мере, вычислимо представимыми) и лямбда-членами Действительно, нетипизированные лямбда-члены являются одной из оригинальных моделей вычислимых функций. Эта более символическая / синтаксическая, вычислительная / вычислительная перспектива обычно более подчеркнута, особенно для нетипизированного лямбда-исчисления, чем более семантические интерпретации лямбда-исчисления. набранныйЛямбда-термины являются гораздо более управляемыми вещами и обычно (но не всегда) легко интерпретируются как теоретико-множественные функции, но также могут обычно интерпретироваться в еще более широкий класс вещей, помимо функций, чем нетипизированное лямбда-исчисление. У них также есть своя собственная синтаксическая теория и очень глубокая связь с логикой .
1 Возможно, проблема может пойти другим путем. Может быть, у вас неправильное представление о функции.
2 Это на самом деле не так просто. Для нетипизированного лямбда-исчисления не имеет смысла наивно интерпретировать произвольные лямбда-члены как теоретико-множественные функции . Вы можете начать видеть это, когда попытаетесь сформулировать, какой должна быть область интерпретации. Если я интерпретирую лямбда-термин как элемент множества , я также хочу иметь возможность интерпретировать его как функцию на и в поскольку я хочу интерпретировать приложение как приложение функции. В итоге вы получите (или ослабление этого), которое верно только для синглтонного набора. Что нам нужно для нетипизированного лямбда-исчисления - это рефлексивный объектDDDDD⊆Dи для категории множеств нет нетривиальных рефлексивных объектов. История довольно немного отличается для типизированных терминов лямбды, но все еще может быть нетривиальными.
3 Если вы четко понимаете это различие, аналогия должна быть довольно информативной.
4 Эта проблема не возникает с полями характеристики 0, такими как комплексные числа, вещественные числа, рациональные числа или целые числа, поэтому различие не такое резкое, хотя оно все еще существует.