7

谁能告诉我学习 lambda 演算(如果有的话)的先决条件是什么?

4

2 回答 2

8

That really depends on what you want to do with the lambda calculus. If you want to learn it just to see how it works there really aren't any prerequisites; it's pretty self-contained. However, if you want to understand any of the proofs about it (Turing-completeness, Church numerals, normalization, etc.) you might need more math prereqs. In particular, I'd suggest a background in inductive proof techniques, especially structural induction. It also might be nice to know a little about either the halting problem or some sort of incompleteness theorem, since some of the fun results with lambda calculus involve non-computability.

于 2010-12-27T07:26:02.067 回答
3

理解 Lambda 演算本身没有先决条件。如果您不是计算机科学家,甚至不知道递归,您可以在大约 30 分钟内非正式地学习(无类型)Lambda 演算的基础知识:http: //palmstroem.blogspot.de/2012/05/lambda-calculus -for-absolute-dummies.html 这应该给你一个关于它做什么以及它是如何工作的直觉。

如果您熟悉基本的数学符号和递归定义,则可以进行标准介绍。特别是,如果您想了解作为 Haskell 基础的 Lambda 演算,您应该深入研究类型化的 Lambda 演算:http ://www.cse.chalmers.se/research/group/logic/TypesSS05/Extra /geuvers.pdf

于 2012-05-09T22:40:09.383 回答