C-Prolog version 1.5
| ?- ['type.pl'].
type.pl consulted 15228 bytes 1.7 sec.

yes
| ?- ['cart.pl'].
could not typecheck: [def,append,[tree,[compose,[insert,apndl],apndr]]]

distribute :	[eq(2),[ge(0),_214],[ge(0),[ge(0),_214]]] --> [ge(0),[eq(1),_214]]
cart :	[ge(0),[ge(0),_214]] --> [ge(0),[ge(0),_214]]

yes
cart.pl consulted 0 bytes 0.783333 sec.

yes
| ?- ['fib.pl'].

fib :	num --> num

yes
fib.pl consulted 0 bytes 0.166668 sec.

yes
| ?- ['mmult.pl'].

ip :	list(0,list(0,num)) --> num
mm :	[ge(1),list(0,list(0,num)),[ge(0),list(0,num)]] --> [ge(0),[ge(0),num]]
mmult :	[ge(1),list(0,list(0,num)),[ge(0),list(0,num)]] --> [ge(0),[ge(0),num]]

yes
mmult.pl consulted 0 bytes 0.633334 sec.

yes
| ?- ['parprimes.pl'].
could not typecheck: [def,filter,[cond,[compose,null,[select,2]],[select,2],[compose,[insert,[compose,[insert,apndl],apndr]],[aa,elim],distl]]]

sieve :	[ge(1),num,num] --> [ge(0),num]
parprimes :	num --> [ge(0),num]

yes
parprimes.pl consulted 0 bytes 0.733335 sec.

yes
| ?- ['qsort.pl'].
could not typecheck: [def,append,[tree,[compose,[insert,apndl],apndr]]]

before :	[ge(0),[ge(1),_263,_263]] --> [ge(1),_263,_263]
same :	[ge(0),[ge(1),_263,_263]] --> _474
after :	[ge(0),[ge(1),_263,_263]] --> [ge(1),_263,_263]
qsort :	[ge(1),_263,_263] --> [ge(1),_263,_263]

yes
qsort.pl consulted 0 bytes 1.11667 sec.

yes
| ?- 
[ Prolog execution halted ]

Process prolog finished
