使用prolog创建一个代码来获得一些比较输出,但有些输出不能正常工作。看起来这些并不是与事实相比较的。这里的代码结果不是与给定的事实进行比较
fact(Fact) :- Fact,!.
fact(Fact):-Fact = ..[Rel, Arg1, Arg2],isa(Arg1, SuperArg).
SuperFact =..[Rel,SuperArg,Arg2].
covers(animal,skin).
isa(fish,animal).
isa(bird,animal).
isa(mammal,animal).
isa(shark,fish).
isa(salmon,fish).
isa(parrot,bird).
isa(penguin,bird).
speacial_organ(fish,gills).
travel(fish,swim).
birth(bird,lay_eggs).
special_organ(bird,wings).
travel(bird,fly).
birth(fish,lay_eggs).
birth(mammal,not_lay_eggs).
birth(shark,not_lay_eggs).
nature(shark,dangerous).
food(salmon,delicacy).
colour(parrot,green).
travel(penguin,walk).
这是我想找到该程序
•可鹦鹉飞回答这些问题?
•鹦鹉的颜色是什么?
•鹦鹉是否有皮肤?
•鲨鱼危险吗?
电脑说“不”。程序文本中有语法错误。 – repeat
当我运行这个时,系统中没有错误显示,但有些输出被赋予了错误。例如,鹦鹉飞行是错误的 – Chara
错字:'speacial_organ' vs'special_organ'。 – repeat