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