| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Counting propositions
x wrote:
> p(1).
> p(2).
> p(3).
>
> s(X):-r(X,[]).
>
> r(R,L):-q(X,L),r(R,[X|L]).
> r(L,L).
>
> q(X,L):-p(X), not(member(X,L)).
>
> member(X,[X|_]).
> member(X,[_|L]):-member(X,L).
>
> It is possible to write a "pure" Prolog predicate that return the number of
> elements that make p(X) true ?
> (without using findall, bagof, setof, assert, etc.)
Is the following "pure" enough for you ?
numberofs(N) :- alls(L,[]), length(L,N).
alls(L,In) :-
(s(X), not(member(X,In)) ->
alls(L,[X|In])
;
L = In
).
(the same was posted not long ago ...)
Cheers
Bart Demoen Received on Fri Jun 18 2004 - 06:47:52 CDT
![]() |
![]() |