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

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)*. 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().

Jisoo Song
2021년 3월 13일 토요일 오전 5시 55분 24초 UTC+9에 Oscar님이 작성:

> On Fri, 12 Mar 2021 at 07:13, JS S <[email protected]> wrote:
> >
> > Aaron, Oscar, please share your idea on this. My recent opinion is:
> >
> > 1. We need relational predicates (Q.eq) to make inference system work 
> with relations. Eq(..., evaluate=False) cannot do this.
>
> Why (briefly) is it not possible for Eq to work here?
>
> > 2. I will not replace Eq with Q.eq because doing that will break 
> backwards compatibility. Instead, ask() and refine() will convert Eq to 
> Q.eq internally for inference system.
> >
> > 3. Q.eq will not be exposed to the users in order to prevent the 
> confusion. It will be kept inside the assumptions module and will not be 
> used in anywhere else.
> >
> > 4. "Q.eq" is just a tentative naming. Relational predicate may not be 
> registered to "Q".
>
> I think that seems reasonable.
>
>
> Oscar
>

-- 
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/af4bbebb-8e4d-4b04-9b9c-261afc3029a7n%40googlegroups.com.

Reply via email to