Annotated using CiaoPP:
:- mode(select/3, [-,+,-]).
:- measure(select/3, [size,length,size]).
%complexity: select(o,i,o).
%% select(X, Xs, Zs) :- Zs is the result of deleting one occurrence of X
%%                      from the list Xs. 

%TWTYPES     :- type select(poly,list,list).

select(X, [X | Xs], Xs).
select(X, [Y | Xs], [Y | Zs]) :- select(X, Xs, Zs).



/*TWDESC

 select(X, Xs, Zs) :- Zs is the result of deleting one occurrence of X
                      from the list Xs. 

*/


/*TWTYPES

list([]).
list([X|Xs]) :-
	poly(X),
	list(Xs).

poly(dummy).
*/


/*TWDEMO

selected_norms([list,poly]).

query(select(f,f,b,f,f,f)).
query(select(f,f,f,b,f,f)).
query(select(f,f,f,f,b,f)).
query(select(f,f,f,f,f,b)).

*/


Caslog 1.0, April 1992.

* Mutually exclusive classes of clauses for predicate select/3 :

[[1,2]]

* Size functions for predicate select/3 :

[bot,$(2),bot]

* Relation functions for predicate select/3 :

[inf]

* Solution functions for predicate select/3 :

[$(2)]

* Time functions for predicate select/3 :

[2* $(2)]

{Exexution Time: 4.0 msec}

{End of Caslog execution.}