> 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.
