Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement