% p(1..3). q(2..4). % { r(X): p(X), r(X): q(X) }. % s :- #sum { r(X)=X: p(X): q(X) } 1. %p(1..50). %count(X, Y):- Y = #sum {Z, Z: p(Z), Z >= X}, p(X). p(1..3). 2 {q(X) : p(X)}. q(2). :- not q(3). :~ p(X), not q(X).[X]