Annotated using CiaoPP:
:- mode(append/3, [+,+,-]).
:- mode(inorder/2, [+,-]).
:- measure(append/3, [length,length,length]).
:- measure(inorder/2, [size,length]).
%complexity: inorder(i,o).

inorder(nil,[]).
inorder(tree(L,V,R),I) :-
	inorder(L,LI),
	inorder(R,RI),
	append(LI,[V|RI],I).

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



/*TWDESC

inorder traversal for binary trees

*/

/*TWNORMS

  norm(treesize_nodes,
	  "Tree sizes (nodes)",
  	   [
	     "Counts the term's nodes:",
	     "|f(t1,...,tn)|",
	     "=",
	     "1+|t1|+...+|tn|"
           ],
	   [
	     defsize(nil,1),defsize(tree(L,_,R),1+size(L)+size(R))
	   ]).

*/


/*TWDEMO

selected_norms([treesize_nodes]).
*/


Caslog 1.0, April 1992.

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

[[1],[2]]

* Size functions for predicate append/3 :

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

* Relation functions for predicate append/3 :

[inf]

* Solution functions for predicate append/3 :

[1]

* Time functions for predicate append/3 :

[$(1)+1]

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

[[1],[2]]

* Size functions for predicate inorder/2 :

[$(1),$(1)]

* Relation functions for predicate inorder/2 :

[inf]

* Solution functions for predicate inorder/2 :

[1]

* Time functions for predicate inorder/2 :

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

{Exexution Time: 8.0 msec}

{End of Caslog execution.}