> Why (briefly) is it not possible for Eq to work here?

That's because inference system in assumptions module requires the boolean 
function as object, not type.

Known facts such as "x being real number implies x being complex number" is 
registered in assumptions/ask module as *Implies(Q.real, Q.complex)*. If we 
want to express "x > y implies both x and y being real number" with this 
system, we need something like* Implies(Q.gt, AllArgs(Q.real))* which is 
applied to Tuple(x, y). These boldface objects play the role of composite 
function, which requires boolean functions as objects. We cannot do 
Implies(Gt, AllArgs(Q.real)) because Gt is a type and thus cannot be the 
argument of Implies().

This is why we need Q.eq, Q.lt, and other predicates to represent Eq, Lt, 
etc in assumption system.

Jisoo Song

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/cf455021-707c-4839-a5b6-41bb2a6b56d1n%40googlegroups.com.

Reply via email to