对于一些existentional谓词a,b为什么这样:
q(X,Y) <-- a(X,Y), q(Z,Y) q(X,Y) <-- b(X,Y)
相当于:
q(X,Y) <-- a(X,Y), b(Z,Y) q(X,Y) <-- b(X,Y)
?为什么顶级递归不能继续扩展?
如果展开第一个子句,则得到 a(X,Y), a(Z,Y), b(Z′,Y) . 由于Z是自由的, a(Z,Y) 是Y上的一个简单的存在量词,它已经由第一个子句断言,因此表达式折叠为 a(X,Y), b(Z′,Y) ,当然等于 a(X,Y), b(Z,Y) ,因为Z'也是一个自由变量 .
a(X,Y), a(Z,Y), b(Z′,Y)
a(Z,Y)
a(X,Y), b(Z′,Y)
a(X,Y), b(Z,Y)
1 回答
如果展开第一个子句,则得到
a(X,Y), a(Z,Y), b(Z′,Y)
. 由于Z是自由的,a(Z,Y)
是Y上的一个简单的存在量词,它已经由第一个子句断言,因此表达式折叠为a(X,Y), b(Z′,Y)
,当然等于a(X,Y), b(Z,Y)
,因为Z'也是一个自由变量 .