integrate returns undefined



integrate(..) returns undefined when it
should know the answer.

(%i1) declare( [ m, n ], integer )$
(%i2) assume ( m > 0,  n > 0 )$
(%i3) integrate( cos(m*x)^2, x, 0, 2*%pi );
(%o3)                                 %pi
(%i4) integrate( cos(m*x)*cos(n*x), x, 0, 2*%pi  );
Is  n - m  positive, negative, or zero?

zero;
(%o4)                              undefined

Is this a known bug?

Ted Woollett