By the way:
Using Clozure:
MAXIMA> (great (list 'p 'q) (list 'a 'b 'c))
Maxima encountered a Lisp error value P is not of the expected type LIST.
Using GCL:
MAXIMA> (great (list 'p 'q) (list 'a 'b 'c))
T
I noticed this difference between Clozure & GCL when I was experimenting with giving kron_delta
a reflection rule (kron_delta(a,b) == kron_delta(-a,-b)).
--Barton