Usually I would agree, but it is written in the context of SymPy, as symbolic math library. There I would expect 1/2 is the solution to 2*x=1 .
In the context of a programming language, I have to agree with wyldfire that int-on-int operations should yield integers.
Now if SymPy wanted to override the base behavior, I think they absolutely should! I could even understand that the context of symbolic math makes this the least surprising outcome.
But Python is a programming language, not a Domain Specific Language.
x = 1/3 3 * x == 1
2. I would really like somebody to remove the preparse code from Sage and make it a standalone library available on pypi. Here's the code (happy to relicense it under BSD): https://github.com/sagemath/sage/blob/master/src/sage/repl/p...
3. Permalink to your example -- http://sagecell.sagemath.org/?q=nwzdzn