Question: Functional programming: Why is this indexed function call not working

expr:=cos(x)^2;
expr=combine[trig](expr);
(x->x=combine[trig])(expr);

Update:
Same outcome with

expr=`combine/trig`(expr);
(x->x=`combine/trig`)(expr);
                          2   1            1
                    cos(x)  = - cos(2 x) + -
                              2            2

                           2               
                     cos(x)  = combine/trig
Please Wait...