<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">I did a quick hack by modifying power's constructor, eval() and expand(). This is very dirty. Your solution is much more elegant. Thanks a lot!</span><br>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Best regards,</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">argama</span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Sep 1, 2013 at 5:16 AM, Vladimir V. Kisil <span dir="ltr"><<a href="mailto:kisilv@maths.leeds.ac.uk" target="_blank">kisilv@maths.leeds.ac.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">        Hi,<br>
<br>
>>>>> On Mon, 26 Aug 2013 00:15:45 +0800, tklam <<a href="mailto:argama@gmail.com">argama@gmail.com</a>> said:<br>
    tklam> behaviour of symbolic multiplication such that: x*x == x<br>
    tklam> (instead of x*x==x^2),<br>
<br>
    The nearest solution I can propose, is to define a new function<br>
  bool() of one variable and use, say,  bool(x) and bool(y) instead of<br>
  your Boolean variables x and y.<br>
<br>
  The point is: for a function you have possibility to define<br>
  its own behaviour under exponentiation, in particular,<br>
  bool(x)^2=bool(x).<br>
<br>
  Best wishes,<br>
  Vladimir<br>
<span class="HOEnZb"><font color="#888888">--<br>
Vladimir V. Kisil     email: <a href="mailto:kisilv@maths.leeds.ac.uk">kisilv@maths.leeds.ac.uk</a><br>
                        www: <a href="http://www.maths.leeds.ac.uk/~kisilv/" target="_blank">http://www.maths.leeds.ac.uk/~kisilv/</a><br>
Book: Geometry of Mobius Transformations<br>
<a href="http://www.worldscientific.com/worldscibooks/10.1142/p835" target="_blank">http://www.worldscientific.com/worldscibooks/10.1142/p835</a><br>
</font></span></blockquote></div><br></div>