nat.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:07.0
disk size 736 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
%query: factorial(i,o).
%
% Die natuerlichen Zahlen ...
%


% mode: isNat[i]
isNat(s(X)) :- isNat(X).
isNat(0).

% mode: notEq[i,i]
notEq(s(X), s(Y)) :- notEq(X, Y).
notEq(s(X), 0).
notEq(0, s(X)).

% mode: lt[i,i]
lt(s(X), s(Y)) :- lt(X, Y).
lt(0, s(Y)).

% mode: gt[i,i]
gt(s(X), s(Y)) :- gt(X, Y).
gt(s(X), 0).

% mode: le[i,i]
le(s(X), s(Y)) :- le(X, Y).
le(0, s(Y)).
le(0, 0).

% mode: even[i]
even(s(X)) :- odd(X).
even(0).

% mode: odd[i]
odd(s(X)) :- even(X).
odd(s(0)).

% mode: add[i,i,o]
add(s(X), Y, s(Z)) :- add(X, Y, Z).
add(0, X, X). 

% mode: mult[i,i,o]
mult(s(X), Y, R) :- mult(X, Y, Z), add(Y, Z, R).
mult(0, Y, 0).

% mode: factorial[i,o]
factorial(s(X), R) :- factorial(X, Y), mult(s(X), Y, R).
factorial(0, s(0)).
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark