, , . - ( ), , . :
beat (torn, jim!. beat(arm, torn). beat! pat, jim).
class!. Player, Category)
. , .
5. 127
winner. , .
fighter. , , .
sportsman. - , .
, , , - , - . :
X ,
Y, , X Y, 2, , Z X
:
X , X Y X .
"", Prolog, . winner . sportsman. , winner fighter " ". .
X - X - , X - ,
, X - , X - , , - ,
Prolog. :
beat (_, X), I.
class ( x, winner):-beatt x, _),!.
class (X, sportsman):-
beatt _, x).
, sportsman . . , .
?- class! ton. ).
- fighter; I
?- class! torn, sportsman),
yes %
class , . .
128 I. Prolog
5.1. :
(.
(2):-!. (3).
Prolog .
)?- ().
)?-(X), (Y).
)?- (;,!, (Y).
5.2. : -
, .
class (Number, positive):- Number > 0.
class! 0, zero).
class (Number, negative):- Number < 0.
.
5.3.
splits Numbers, Positives, Negatives)
; ( )
, , .
split ([3,-1,0,5,-2], [3,0,5;, -1,-23)
: , .