Answers:
它的灵感来自真实的事件,但是它的表述方式几乎是不可识别的,“应该被怀疑”是胡说八道。
一致性在逻辑上有一个精确的含义:一致性理论是不能证明所有陈述的理论。在经典逻辑中,这等效于没有矛盾,即,当且仅当存在陈述使得该理论证明及其否定,理论才是不一致。
那么,对于lambda微积分意味着什么呢?没有。λ演算是一种重写系统,而不是逻辑理论。
可以查看与逻辑有关的λ演算。将变量视为表示证明中的假设,将lambda抽象视为某个假设(由变量表示)下的证明,并将其用作条件证明和假设的证明。然后,β规则对应于通过应用“ 模式”(一种逻辑的基本原理)简化证明。
但是,这仅在条件证明与正确假设的证明相结合时才有效。如果您有一个假设的条件证明,并且您也有的证明,则不能将它们组合在一起。如果要对lambda演算进行这种解释,则需要添加一个约束,该约束仅将正确假设的证明应用于条件证明。这称为类型系统,约束条件是键入规则,该规则表示将参数传递给函数时,参数的类型必须与函数的参数类型匹配。
该柯里-霍华德同构之间是平行类型结石和证明系统。
具有定点组合符(例如的类型化演算允许构建任何类型的项(尝试评估),因此,如果通过Curry-Howard对应关系进行逻辑解释,则会得出不一致的理论。请参阅Y组合器是否与Curry-Howard对应矛盾?更多细节。
这对于纯lambda演算(即没有类型的lambda演算)没有意义。
在许多类型的计算中,无法定义定点组合器。这些类型的演算就其逻辑解释而言很有用,但不能作为图灵完备的编程语言的基础。在某些类型的计算中,可以定义一个定点组合器。这些类型的演算可以用作图灵完备的编程语言的基础,但对于它们的逻辑解释而言却不是。
结论:
true
和来谈论无类型Lambda演算中的逻辑false
,而命题就是具有布尔值输出的事物。(并且仅在它确实输出布尔值的事物领域被认为是命题)。
我想在@Giles说的内容中添加一个。
的咖喱霍华德对应使得之间的并联组术语(更具体地,所述类型的组术语)和证明系统。
例如,输入(其中表示“从到函数”),它对应于逻辑语句。函数具有,对应于。通过某种意义上的函数“模式匹配”,我们可以将任何lambda-演算类型转换为逻辑重言式。
当我们考虑定义为的Y组合器时,就会出现问题。之所以出现这个问题,是因为我们希望Y组合器作为“定点”组合器具有类型(因为它需要将函数从类型转换为相同类型,并找到一个固定的-指向该函数(具有该类型)。将其转换为逻辑语句将产生。这是一个矛盾:
在类型系统中接受导致类型系统不一致。这意味着我们可以
fix
。您可以断言每种类型都有一个常数。就CH而言,这已经给您带来了一个不一致的系统,因为这意味着每种类型都被。您还可以添加 -rules来进行计算,这将使具有自然数的STLC变成图灵完备的系统,但是您不必添加这些计算规则,并且系统仍然会不一致。