要声明一个对象具有某个属性,您可以使用单个位置谓词。例如,要说这x
是一部你可以写的电影Film(x)
。如果你想为一个对象赋予一些价值,你可以使用两个(或更多)地方谓词。用你的例子,你可以说克鲁尼在一部电影中饰演Starred(clooney, x)
。
人们使用某些约定。例如,谓词以大写字母 ( Actor
, Film
, FatherOf
) 开头,常量以小写字母 ( x
, clooney
, batman
) 开头。常量表示对象,谓词说明对象。如果谓词有多个参数,第一个参数通常是您要陈述的主题。这样你就可以自然地将逻辑公式读成普通语言的句子。例如,FatherOf(x, y)
读作“x 是 y 的父亲”。
更新答案:
我不确定你是否可以在一阶逻辑中做到这一点。您可以Entity
通过公式将 a 描述为具有某些属性的东西,例如
\forall x (Entity(x) ==> Object(x) | Element(x) | Abstraction(x))
这对于Attribute
. 在一阶逻辑中,属性将某种性质归于一个对象或将其与另一个对象相关联。您可能可以使用三个位置谓词,如下所示:
\forall attribute (\exists object (\exists value (Has(object, attribute, value))))
至于文件,那只是这些陈述的结合。例如,乔治克鲁尼的描述可能如下:
Entity(clooney) & Has(clooney, starred, gravity) & Has(clooney, bornIn, lexington) & ...