Описание слайда:
Задача. В автомобильных гонках три первых места заняли Алеша, Петя и Коля. Какое место занял каждый из них, если Петя занял не второе и не третье место, а Коля - не третье? predicates name(symbol) mesto(integer) result(symbol, integer) solve(symbol,integer,symbol,integer,symbol,integer) clauses name(alesha). name(petya). name(kolya). mesto(1). mesto(2). mesto(3). result(X,Y):-name(X),X=petya,mesto(Y),Y2,Y3. result(X,Y):-name(X),X=kolya,mesto(Y),Y3. result(X,Y):-name(X),X=alesha,mesto(Y). solve(X1,Y1,X2,Y2,X3,Y3):-X1=petya,result(X1,Y1), X2=kolya,result(X2,Y2), X3=alesha,result(X3,Y3), Y1Y2,Y2Y3,Y1Y3. goal solve(N1,M1,N2,M2,N3,M3),write(N1,' ',M1,'\n',N2,' ',M2,'\n',N3,' ',M3).