说我有一个事实如:
bigger(cat,mouse).
如果我想向某人描述这一点,我是否正确地说“猫是这个事实中的第一个术语而鼠标是第二个术语”或者我会将猫和老鼠称为原子并说“猫”是事实中的第一个原子,鼠标是第二个“。
答案 0 :(得分:1)
你的第一个描述是公平的,'term'是递归数据结构:即一个术语是原子,数字或结构,其中结构是'name(arg1,arg2,...)',每个论点都是一个术语。
所以你的第二个描述更准确(受限制)。
正如其他答案所指出的那样,'论证'是结构化术语中通常用位置识别属性的命名。
答案 1 :(得分:0)
论证是我认为的完美词汇。但通常要描述一个谓词,你会使用以下形式:
predicate/arity : predicate(arguments...)
description of arguments
这里有类似的东西:
bigger/2 : bigger(Bigger, Lesser)
Holds if Bigger is bigger than Lesser.
此外,您可以精确设置参数的模式:+表示输入, - 表示输出,?对于两者(和@为纯输入),请参考this question上的@ false答案,以便在需要时获得更多关于模式的信息。
完整版可以是:
bigger/2 : bigger(?Bigger, ?Lesser)
Holds if Bigger is bigger than Lesser.
答案 2 :(得分:0)
要稍微混淆一点,我可能会说bigger
是一个二元关系,它在cat
和mouse
之间保持不变。