Files
picolog/1.pl
2026-02-10 00:07:06 +01:00

23 lines
486 B
Prolog

:- use_module(library(clpfd)).
entier(zero).
entier(s(X)) :- entier(X).
add(X, zero, X).
add(X, s(Y), Z) :- add(s(X), Y, Z).
inf(zero, X) :- entier(X).
inf(s(X), s(Y)) :- inf(X, Y).
mult(zero, X, zero).
mult(s(Y), X, Z) :- mult(Y, X, W), add(W, X, Z).
div(A, B) :- inf(A, B), inf(X, B), mult(X, A, B).
div_w(X, Y) :- inf(s(X), Y), inf(s(s(zero)), X), div(X, Y).
prime(X) :- entier(X), \+ div_w(_, X).
peano(X, zero) :- X #= 0.
peano(X, s(P)) :- X #> 0, X #= Y + 1, peano(Y, P).