I've updated the wiki. (Still far from complete) Please provide feedback on the matter so far.
Places to look at: * The Project <https://github.com/sympy/sympy/wiki/GSoC-2015-Application-Sudhanshu-Mishra:-Assumptions#the-project> * Execution <https://github.com/sympy/sympy/wiki/GSoC-2015-Application-Sudhanshu-Mishra:-Assumptions#execution> Sudhanshu Mishra On Sun, Mar 22, 2015 at 3:10 PM, Joachim Durchholz <j...@durchholz.org> wrote: > Am 22.03.2015 um 01:04 schrieb Aaron Meurer: > >> On Sat, Mar 21, 2015 at 2:57 PM, Joachim Durchholz <j...@durchholz.org> >> wrote: >> >>> Am 21.03.2015 um 19:54 schrieb Aaron Meurer: >>> >>>> >>>>> I do not think the new assumptions should call the old assumptions. The >>>>> new >>>>> assumptions work by manipulating data structures, not by executing >>>>> code. >>>>> >>>> >>>> They do execute code. See sympy.assumptions.handlers. >>>> >>> >>> >>> Oh. I've been thinking that that was part of the old assumptions system. >>> But what data is the SAT solver working with, then? >>> >> >> Currently, the known_facts >> (https://github.com/sympy/sympy/blob/5507c86e70f816f95f87b868615502 >> a44cac5853/sympy/assumptions/ask.py#L329-L377). >> In my branch, everything in that file. The known_facts are what I >> like to call the "free" facts, in that they can be written down >> completely free of the expression they apply to. For instance, >> Implies(Q.positive, Q.real). Facts that depend on the kind of >> expression they apply to (like, if all terms in an Add are positive, >> then the whole expression is positive), aren't expressible >> symbolically in the current new assumptions (but they are in 2508). >> > > Oh, I see. > > I'd want go full length towards making all rules into data structures, no > code execution at all (except for generic code to apply rules, obviously). > I can't even give a hard reason for that, except that I know from > experience that data is far easier to analyze and do something new and > initially unexpected than code where this is essentially impossible. Also, > all solvers that I know work that way. > > I don't know whether that would be a wise approach for SymPy, or the right > thing to do right now. > I'm slightly worried that we might want to go full length to data-based > solving after we get the SAT solver, and then have *three* solvers to deal > with (because the old assumptions system won't die that quickly), so I > still see a small advantage to going that direction right now. > Downside of "right now" would be "who's going to do it" and "that's going > to be even more work"... so I don't know enough to have a real position > about what's the best way forward. > > -- > 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/550E8E1E.3060701%40durchholz.org. > > For more options, visit https://groups.google.com/d/optout. > -- 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/CAFW_KCS-B%3D2_bs%2BKJakG3fBucmPVB%2BsFfyYffF8G-RfWvndy%2Bg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.