<div class="notebook"> <div class="nb-cell program"> invoice('2015/01',1,coffee,100). invoice('2015/02',1,water,50). invoice('2015/02',2,coffee,100). invoice('2015/03',1,milk,80). invoice('2015/03',2,cake,150). </div> <div class="nb-cell query" data-chunk="10" data-run="onload"> distinct(D, (invoice(D,_I,_P,_Q), _P \= coffee, _P \= water)). </div> <div class="nb-cell query"> dif(P, coffee), dif(P, water), setof(N, I^P^V^invoice(N,I,P,V), Ns), length(Ns, X). </div> <div class="nb-cell query"> dif(P, coffee), dif(P, water), setof(invoice(N,I,P,V), invoice(N,I,P,V), Is). </div> </div>