我正在学习逻辑编程范式,我的教授谈到了命题中的量词和逻辑连接符。这些不只是用于命题的运算符吗?我没有看到我的教授称它们为运算符,有什么原因吗,或者它们可以被归类为逻辑编程范式中的运算符?
发布于 2020-10-26 10:56:41
如果您正在谈论Prolog (而不是一些完整的一阶逻辑证明器),operator是一个技术术语,用于表示可以在子表达式之前、之后或其间编写的谓词或函数名称。
这些确实包括“和”(,) " or“(;)”经典/物质含义“(:-)读作head⊂body (但它实际上是intuitionistic含义,因为它说的是”证明头部,证明身体“,而不是”身体是假的或头部是真的“),以及if-then-else (基于两个运算符->,;),等等。
没有显式编写的量词-每个子句都隐式地对其所有变量进行通用量化(变量对于每个子句都是局部的)
For子句
f(X,Y) :- g(X,Z),h(Z,Y).朗读
∀(X,Y,Z): f(X,Y) :- g(X,Z),h(Z,Y). 所有存在的量词都已经通过Skolemization预先消除,因此存在的量化变量被(新的)常量取代,可能在函数项内。(在像bagof/3这样的高阶谓词中使用的^ (插入符号)操作符中有一点剩余的∃,其中X^...用于创建“本地命名上下文”,并将X限制为^后面的表达式)。
https://stackoverflow.com/questions/64530539
复制相似问题