2010-12-27 5 views
5

Может ли кто-нибудь сказать мне, какие предпосылки для изучения исчисления лямбда (если есть)?Предварительные условия для изучения исчисления лямбда

+0

Этот вопрос не связан с программированием. Попробуйте спросить на [math.stackexchange.com] (http://math.stackexchange.com). –

+0

@Cody: Как исчисление лямбды не связано с программированием? Это как мать всех функциональных языков программирования. – sepp2k

+0

@ sepp2k: Насколько я понимаю, математика - это мать всего, что находится в [компьютерной] науке. Я все еще не думаю, что вопросы об изучении лямбда-исчисления квалифицируются как строго связанные с программированием. Кажется, у нас есть сайт для этого. Я не думаю, что это относится к SO, учитывая, что язык не упоминается, вопрос не связан с конкретными алгоритмами, нет кода и т. Д. –

ответ

5

Это действительно зависит от того, что вы хотите сделать с исчислением лямбда. Если вы хотите узнать это просто, чтобы увидеть, как это работает, на самом деле нет никаких предварительных условий; это довольно самодостаточно. Однако, если вы хотите понять какое-либо из доказательств об этом (Turing-полнота, церковные цифры, нормализация и т. Д.), Вам может потребоваться больше математических предпосылок. В частности, я бы посоветовал предпосылки для индуктивных методов доказательства, особенно для структурной индукции. Также было бы неплохо узнать немного о проблемах с остановкой или о какой-то теореме о неполноте, так как некоторые из забавных результатов с исчислением лямбда связаны с не вычислимостью.

+0

Не могли бы вы предложить поле для изучения тем, кто действительно хочет хардкора на лямбда-исчислении? (в конце концов, как еще мы получим всех дам). – MasterMastic

3

Не существует предпосылок для понимания самого исчисления лямбда. Если вы не компьютерный ученый и даже не знаете рекурсии, вы можете узнать основы (нетипизированного) Lambda Calculus неофициально примерно через 30 минут здесь: http://palmstroem.blogspot.de/2012/05/lambda-calculus-for-absolute-dummies.html Это должно дать вам полезную интуицию о том, что он делает и как это работает ,

Если вы знакомы с основными математическими обозначениями и рекурсивными определениями, вы можете пойти на стандартное введение. Особенно, если вы хотите узнать об исчислении лямбда в качестве основы для Haskell, вы должны углубиться в глубину типичного исчисления лямбда: http://www.cse.chalmers.se/research/group/logic/TypesSS05/Extra/geuvers.pdf