>
> - The assumptions are used *everywhere*. This is really the main 
> issue. Even the smallest change to the old assumptions has a ripple 
> effect requiring changes to the entire codebase. In many cases, the 
> changes require understanding every piece of code that uses the 
> assumptions, so that a fix would be correct.
>
 
What kind of changes are we taking about ? Is it about the API changes or 
the assumptions that are returned ?
 

> - The new assumptions and old assumptions differ. I noticed you put 
> this as your item e. But really this *has* to be the first thing that 
> is fixed. If one assumptions system uses "real" to mean one thing and 
> another uses it to mean another (as is currently the case; in the old 
> assumptions oo is real and in the new it is not), then changing code 
> from is_real to Q.real is not a simple find and replace. Furthermore, 
> if you want to interface the two systems, they have to have to agree 
> everywhere, or you'll get contradictions that in the best case lead to 
> confusing errors or wrong results and in the worst case prevent the 
> code from working at all because of logical unsatisfiability. 
>
 
Cant we just update the symbol` to directly update assumptions in 
`global_assumptions`.
That will help solve any unsatisfiablity as all assumptions are stored in 
one place.  
 

> - Make the new assumptions call the old assumptions. 

This is much less 
> intrusive than the reverse. I made a proof of concept on how it can be 
> done at https://github.com/sympy/sympy/pull/7925. Sergey made an 
> alternate suggestion at https://github.com/sympy/sympy/pull/7926 
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fsympy%2Fsympy%2Fpull%2F7926&sa=D&sntz=1&usg=AFQjCNEwrAF59lX4746GJdqP5v40Fpjraw>.
>  
> The 
> important thing is that we can't do this until the two systems agree 
> with one another. Otherwise the result of ask() would depend on 
> whether it hits the old assumptions or the handlers system. 
>
>  Intrusive in what sense ? 
Again, I think using `global_assumptions` is the answer.

>
> - Remove assumptions from the core as much as possible. If we can 
> remove ManagedProperties (the core metaclass that holds the basic old 
> assumptions logic) that would be awesome. Removing automatic 
> simplification based on assumptions is also important (especially for 
> performance). 
>

I think that does some of the work towards that. doesn't it? 
 

> This is a lot of work to do, and for a GSoC project, I would not 
> expect to get to the long term things, but I would keep them in mind 
> as things that need to be done.


Can we divide up the project , as Sudhanshu and me want to work on the same 
thing ? 

Aaditya M Nair

-- 
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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/fe011c10-0364-4553-b5ae-b56cffc258bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to