Prolog紧凑?

时间:2011-11-14 16:46:05

标签: prolog calc derivative

我遇到了问题,我需要压缩这样的衍生结果:

0*x*x + 2*(1*x + x*1) =====> example: 0+2*(2*x) =====> 0+2*4*x====>8*x

有可能吗?谢谢你的帮助。

此致 Volter

1 个答案:

答案 0 :(得分:3)

是的,这是可能的,只需要一些工作。你需要写出原子规则,如

rule(0*_, 0).
rule(_*0, 0).
rule(1*X, X).
rule(X*1, X).

并实现一个固定点谓词(可能是failure-driven loop),它应用规则直到收敛。