:- use_module(library(chr)). :- chr_constraint fib/2. % fib(N,F): The Nth Fibonacci number is F fib(N,F1)\fib(N,F2) <=> F1=F2. fib(1,X) ==> X=1. fib(2,X) ==> X=1. fib(N,F) ==> N > 2 | N1 is N-1, fib(N1,F1), N2 is N-2, fib(N2,F2), F is F1+F2.