1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
%p(f(a),g(X))=p(Y,Y) %p(X,f(X))=p(Y,Y) %p(a,X,f(g(X)))=p(Z,f(Z),W) %p(a,X,f(g(X)))=p(Z,f(Z),f(W)) %m(k,Y,g(h(Y)),h(Y))=m(W,p(W),g(X),h(p(W))) %seg(point(X1,Y1),point(X2,Y2)) %vertical(seg(point(X,Y1),point(X,Y2))) %horizontal(seg(point(X1,Y),point(X2,Y))) %vertical(seg(point(X1,Y1),point(X2,Y2))):-X1=X2 %horizontal(seg(point(X1,Y1),point(X2,Y2))):-Y1=Y2 %prostakat: %point(0,0). %point(1,0). %point(1,1). %point(0,1). %rectangle(p1,p2,p3,p4). %rectangle(point(0,0), point(1,0), point(1,1), point(0,1)). regular(rectangle(point(X,Z), point(Y,Z), point(Y,W), point(X,W))). %problem farmera: %state(f,o,k,w). %canget(state(east,east,east,east)). canget(S1):-move(S1,M,S2,canget(S2)). move(state(F1,O1,K1,W1),P,state(F2,O2,K2,W2)):-safe(state(F2,O2,K2,W2)). move(state(east,O,K,W),farmer-east,state(west,O,K,W)). % ruchow safe(state()). % owca sama safe(state()). %