%% Pigeon Hole example. % Number of Holes % const n=9. % There are n+1 pigeons. pigeon(1..n+1). % There are n holes. hole(1..n). % Select exactly one hole for each pigeon. 1{ in_hole(P,H) : hole(H) }1 :- pigeon(P). % If there are 2 pigeons in a hole then infer False. :- 2{ in_hole(P,H) : pigeon(P) }, hole(H).