% Vorsicht bei Benutzung von cut:

yes :- ab(X), !, X=b.
yes.

ab(a).
ab(b).


% Häufig zur Fallunterscheidung:
% p :- q, !, r.
% p :- s.
%
% p :- if q then r else s.
%
% p :- q -> r ; s.

max(X,Y,Z) :- X >= Y, !, Z=X.
max(X,Y,Z) :- Z=Y.

maxIf(X,Y,Z) :- X>=Y -> Z=X ; Z=Y.

