一般情况S的推论

时间:2012-10-31 12:10:22

标签: prolog logic-programming

我希望有人可以帮助我。是否可能从Prolog中的Ss0不同的情况进行推理?

我有s0(初始情况),如下所示:

isoven(oven).
isoff(oven,s0).
ison(X,do(a,S)):- a=switchOn(X),isoven(X); isOff(X,S),\+ a=swicthOff(X). (fluent inon)

如果我提示:

?- isOn(oven,s0).
false.

?- ison(oven,do(swicth(oven)s0)).
true

如果存在像“保存(做(swicth(烤箱)s0))到S'”的命令以获得这样的结果会很好:

?- ison(oven,S').
true. 

1 个答案:

答案 0 :(得分:0)

Prolog不是魔术,你需要正确实施。 看来你想使用情境演算,网上有很多关于它的资料。

此外:

a=switchOn(X)

这没有意义,总是失败。你需要一个变量(第一个字母必须是大写)