Kevin Kofler (./21) :
What exactly does domain(real) do? Because its effect on conj in the screenshot looks weird to me.
Yes it IS weird. Definitely a bug.
The bug was in the interpreter, become conj(m) was evaluated BEFORE m was replaced with its value.
Which means that in the evaluation of conj(m), m was assumed real, and so it returns m. Then it is substituted into conj(x)+I*conj(y) which is then evaluated into x+I*y
It will be fixed in the RC4.
Kevin Kofler (./22) :
And how are symbolic variables inside gcd handled? Are they assumed integers?
Well the function gcd is a function which returns an integer.
It uses the polynomial gcd, but then if poly_gcd(x,y)=1, it can't assume that the integer_gcd(x,y)=1. if we replace x and y by some values (x=2 and y=4), it is wrong.
I know it isn't a very classical behavior of the gcd function, but let's see if it is good or not.