Annotated using CiaoPP:
:- mode(app/3, [+,+,-]).
:- mode(in_order/2, [+,-]).
:- measure(app/3, [length,length,length]).
:- measure(in_order/2, [size,length]).
%complexity: in_order(i,o).
%% in_order(Tree, List) :- List is a list obtained by the in_order traversal
%%                         of the tree Tree.

%TWTYPES :- type in_order(tree,list).

in_order(void, []).
in_order(tree(X, Left, Right), Xs) :-
	in_order(Left, Ls),
	in_order(Right, Rs),
	app(Ls, [X | Rs], Xs).

%TWTYPES :- type app(list,list,list).

app([],X,X).
app([X|Xs],Ys,[X|Zs]) :-
	app(Xs,Ys,Zs).


/*TWDESC

in_order(Tree, List) :- List is a list obtained by the in_order traversal
                        of the tree Tree.


*/


/*TWTYPES

tree(void).
tree(tree(V,L,R)) :-
        poly(V),
        tree(L),
        tree(R).

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

poly(dummy).
*/


/*TWDEMO

selected_norms([list,tree,poly]).

query(in_order(f,b,f,f,f,f)).
query(in_order(f,f,b,f,f,f)).
query(app(b,f,f,f,f,f,f,f,f)).
query(app(f,b,f,f,f,f,f,f,f)).
query(app(f,f,f,f,f,f,b,f,f)).
query(app(f,f,f,f,f,f,f,b,f)).
 
*/



Caslog 1.0, April 1992.

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

[[1],[2]]

* Size functions for predicate app/3 :

[$(1),$(2),$(2)+ $(1)]

* Relation functions for predicate app/3 :

[inf]

* Solution functions for predicate app/3 :

[1]

* Time functions for predicate app/3 :

[$(1)+1]

* Mutually exclusive classes of clauses for predicate in_order/2 :

[[1],[2]]

* Size functions for predicate in_order/2 :

[$(1),$(1)]

* Relation functions for predicate in_order/2 :

[inf]

* Solution functions for predicate in_order/2 :

[1]

* Time functions for predicate in_order/2 :

[0.5*exp($(1),2)+2.5* $(1)]

{Exexution Time: 8.001 msec}

{End of Caslog execution.}