Problem with defrule



Hello,
I quite new to Maxima and I have a problem with the defrule function.
I'm just testing out what's possible and what not.
So I don't have a real goal.
OK, now my problem:
For example, I want to replace log(a*b) with log(a)*log(b) or with
log(a)+log(b).
I've tried it the following code:
matchdeclare(a,true);
matchdeclare(b,true);

defrule(r1, log(a*b), log(a)*log(b)); in the first case or
defrule(r2, log(a*b), log(a)+log(b)); in the second case.

When I call 
     apply1(log(x*y),r1);
I only get "0" as result in the first case and in the second case I get back
the log(x*y), but not my intended result.

Can anybody tell me what I did wrong and how to make it right?!?!
Thanx a lot!

-- 
View this message in context: http://www.nabble.com/Problem-with-defrule-tf1902175.html#a5204694
Sent from the Maxima forum at Nabble.com.