Using prolog make a code to get some compared outputs but some outputs not working properly. seems those are not comparing with facts. here the code
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).
this are the questions i want to find answers from this program
• Can parrot fly?
• What is the color of parrot?
• Do parrots have skin?
• Are sharks dangerous?