我想知道任何人都可以概括地向我解释一下Lambda演算和图灵机等效性的一些证明以及证明的一般方法。尽可能简单明了。
答案 0 :(得分:1)
从基本的角度来说,你只需证明两件事:
当然,这里涉及到一些手工操作,因为您还需要考虑输入/输出方面的操作差异,但我们还没有进入此处。
在实践中,上述两个定理被证明是建设性的,即通过实际给出一种机械方式将一个转向另一个。所以基本上你给两个编译器,以及一个证明 他们的正确性。
为了获得良好的直觉,请考虑lambda演算和寄存器之间等效的类似定理。在那种环境中,为了实现计算机的有限性,无类型lambda演算的解释器是一个方向的证明。在这里,我的意思是一个真实的,有形的程序,你可以运行;例如通过从函数式编程语言的编译器中删除typechecker(必然会嵌入一些类型化的lambda演算版本。
所以下次你运行GHC时,请考虑这个定理!
答案 1 :(得分:0)
我认为,从不同的角度来看,门逻辑(硬件),Lambda微积分(数学/抽象)和图灵机(抽象图像)是相同的操作。 门逻辑是被移位的位/电流。您可以手动实现它(实验套件,试验板,硬件),也可以使用逻辑门模拟器(软件)对其进行测试。 Lambda微积分是一个正规和数学概念,用于证明您机械地进行的操作将始终具有相同的输出/结果。 Turing Machines (Turing Machines)只是一种更抽象的解释方式,而没有Math或Gates。告诉您的祖母冯·诺依曼架构,将数学,电气和软件工程留在实验室中。在门逻辑中,您将创建一个锁存器,该锁存器将根据输入保持位/状态。在lambda演算中,每个位都是一个符号,lambda本身是过渡/归约的符号。在图灵机中,位是寄存器。我已经从数学原理,哲学哲学和Lambda微积分学到了这一点:最短的解释是最糟糕的,因为最抽象。您将需要时间查看树木才能使它们成为森林。