使用 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).
这是我想从这个程序中找到答案的问题
• 鹦鹉会飞吗?
• 鹦鹉的颜色是什么?
• 鹦鹉有皮肤吗?
• 鲨鱼危险吗?