Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
zero. s(zero). s(s(zero)). s(s(s(zero))). 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). add(zero,X,X) :- isnumber(X). add(s(X),Y,s(Z)) :- add(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),add(Y,Q,Z). quotient(_,zero,_) :- false. quotient(zero,_,zero). quotient(X,s(zero),X) :- isnumber(X). quotient(X,X,s(zero)) :- isnumber(s(zero)). %quotient(X,Y,Z):- add(X,Y,Q),add(Z,s(zero),R), quotient(Q,Y,R). quotient(X,Y,Z):- add(X,Y,Q), quotient(Q,Y,s(Z)). fact(zero,s(zero)). %fact(s(N),X):- lessthanequal(zero,s(N)), fact(N,Y), times(Y,s(N),X). fact(s(N),X):- fact(N,Y), times(Y,s(N),X). fibonacci(zero,zero). fibonacci(s(zero),s(zero)). fibonacci(s(s(N)),X) :- fibonacci(s(N),Y),fibonacci(N,Z),add(Y,Z,X).