% ~/bin/pl % ['examples.pl']. % ? - can_fly(X). % X = tweety ; % halt. thing(X) :- animal(X). thing(X) :- plant(X). animal(Y) :- mammal(Y). animal(X) :- reptile(X). animal(X) :- bird(X). blooded(X,warm) :- mammal(X). blooded(X,warm) :- bird(X). blooded(X,cold) :- reptile(X). reptile(X) :- snake(X). mammal(X) :- dog(X). plant(X) :- tree(X). green(X) :- plant(X). snake(sammy). dog(snoopy). bird(tweety). tree(pine). can_move(X) :- animal(X). can_move(X) :- can_fly(X). can_fly(X) :- bird(X). good_pet(X) :- animal(X),\+ blooded(X,cold). %%%%%%%%%%%%%% can_fly(X) :- plane(X). can_move(X) :- tank(X). plane(p1). plane(p2). plane(p3). tank(t1). friendly(p1). friendly(t1). military(X) :- plane(X). military(X) :- tank(X). enemy(X) :- military(X),\+ friendly(X). target(X) :- enemy(X).