:- use_module(library(chr)). handler primes. constraints primes/1, prime/1. primes(1) <=> true. primes(N) <=> N>1 | M is N-1, prime(N), primes(M). prime(I) \ prime(J) <=> J mod I =:= 0 | true.