Mam zapisane w notatniku z rozszerzeniem .pl:

isnumber(zero).
isnumber(s(X)) :- isnumber(X).

isequal(X,X) :- isnumber(X).
isequal(s(X),s(Y)) :- isequal(X,Y).

lessthanequal(zero,X) :- isnumber(X).
lessthanequal(s(X),s(Y)) :- lessthanequal(X,Y).

add1(zero,X,X) :- isnumber(X).
add1(s(X),Y,s(Z)) :- add1(X,Y,Z).

odd(s(zero)).
odd(s(s(s(X)))) :- odd(s(X)).

even(zero).
even(s(s(X))) :- even(X).

times(zero,X,zero) :- isnumber(X).
times(s(X),Y,Z) :- times(X,Y,Q), add1(Y,Q,Z).

quotient(X,X,s(zero)) :- isnumber(s(zero)).
quotient(X,Y,s(Z)) :- quotient(Q,Y,Z), add1(Y,Q,X).

remainder(X,X,zero).
remainder(X,Y,R) :- add1(X,Y,Q), remainder(Q,Y,R).

fact(zero,s(zero)) :- isnumber(s(zero)).
fact(N,X) :- fact(A,B), add1(A,s(zero),N), times(B,N,X).

fib(0, 0).
fib(1, 1).
fib(N, X) :- fib(A, C), fib(B, D), A is N - 1, B is N - 2, X is C + D.

shownum(zero,0).
shownum(X,N) :- shownum(A,B), add1(A,s(zero),X), N is B + 1.



Muszę wykonać do tego takie polecenia w Prologu (kompletnie nie wiem jak):

1) sprawdzić wcześniej zdefiniowane predykaty te (np times (X , Y , Z) ) za pomocą predykatu
shownum (X , Y) .

2) Pomyśl , jak zdefiniować predykaty quotient( X , Y , K ) i remainder( X , Y ) dla Y = zero!

Proszę o wypisanie co trzeba wpisywać w Prolog po kolei.

Bardzo proszę o pomoc