Hi Aaron, Thanks for replying. I am still researching on SMT solvers and possible approaches of implementing one such solver. I will update my proposal very soon.
Shubham On Tuesday, April 2, 2019 at 1:14:59 AM UTC+5:30, Aaron Meurer wrote: > > On Thu, Mar 14, 2019 at 9:57 PM <[email protected] <javascript:>> wrote: > > > > > > I would like if mentors give suggestions about the course of action I > should take and the improvements I should make in the proposal. The project > is huge and for the past few days, I have been going to and from between > core modules and assumptions module. I have some questions : > > > > Why do we need to have two different sets of assumptions? > > > > This is ambiguous. Just Consider > > > > > > > > > > > > >>> oo.is_real > > True > > >>> ask(Q.real(oo)) > > False > > >>> > > > > Also since the new assumptions are sometimes calling the old > assumptions, the above can create more difficulties. Isn't the idea for new > assumptions has been to scrape off the old assumptions? > > Yes, the consistency is an issue. I think main problem is whether > real/positive/etc. include oo or not. There has been a lot of > discussion about this (see https://github.com/sympy/sympy/pull/2538). > It will need to be cleaned up before we can truly merge the two. > > I think the old assumptions syntax should be kept, because it is > convenient, and has been around for a long time. But some things are > only expressible with the new assumptions. There are also things like > the matrix expressions which exclusively use the new assumptions, and > they should be kept like that. > > > > > My present plan for my course of actions is: > > > > Improve SAT solvers speed:- I am currently researching for SAT solving > algorithms and since SymPy is a closed system (i.e. the Inference rules > would be fixed) we can have a pre-compiled Inference Network ( or such a > Data structure) which would provide speed to SymPy's SAT solvers. > > Old assumptions would call the new assumptions. > > I think we need to significantly improve the performance of the new > assumptions before this can happen. Right now old assumptions are > called all over the place in SymPy, and if they got slower it would > affect the performance of virtually every SymPy operation. > > Regarding your application, I would add more details about how SMT > would work, as well as about the relational assumptions, particularly > how you would be able to do useful inferences with relational > assumptions. > > Aaron Meurer > > > > > But old and new assumptions differ. Should they be left as they are? > Please suggest. > > > > Thanks. > > > > On Monday, March 11, 2019 at 11:37:43 AM UTC+5:30, [email protected] > wrote: > >> > >> Hello everyone, > >> > >> I am Shubham Kumar Jha, a pre-final year Undergraduate student in > C.S.E. from NIT Agartala (India). I am participating in GSoC 2019 under > SymPy. I went through the ideas page of GSoC 2019 and found the Assumptions > project to be both appealing and exciting to me. I want to work on it. I > have gone through much of the literature on Assumptions and still reading > them. The project is huge and I still need to make a clear note of the > amount of work done and not done. But following are some tasks I would want > to work on: > >> > >> Add support for Relational expressions: Currently, Assumptions doesn't > support relational expressions. I would extend the capabilities of > Assumptions. It would also help in other parts of the project. > >> Convert handlers to their relational equivalents: While working on some > handlers I found handlers in particular are not very powerful or > expandable. With added support for Relational expressions, we can convert > handlers to their relational equivalents. In this way, we can save much of > the predicates since inferences on Relationals would be enough for most of > them. Also, it would make them easily expandable. > >> Increase the capabilities of SAT solver: Aaron Meurer(@asmeurer) has > already done so much work in it (which I still need to go through). I would > try to extend its capabilities and speed it up. Currently, I am having > Logical Inference as one of my subjects this semester which heavily > utilizes CLIPS. I would look into CLIPS or other better alternatives if I > can mimic their functionalities. > >> Work on global assumptions: As suggested by Sudhanshu > Mishra(@debugger22) we can add assumptions into the global scope with their > scope numbers and purge them during garbage collection. I support the > approach with context manager but I think the addition of this capability > will also be good. > >> > >> I am still going through the works done in Assumptions and would draft > a refined proposal over this and the suggestions I receive. Also, I would > create the timeline accordingly. I know the project is very huge therefore > I would like if some mentors can guide me into specifics that heavily > require work now. > >> > >> I have no commitments for this summer and I am able to devote my full > time to SymPy. I have been a part of the community for the past 3-4 months > and I understand SymPy's codebase pretty well. Hence, I don't need time to > get familiarize with it. Also, before the beginning of the coding period, I > would have gone through Assumptions mechanism. I would start working on my > project from the very beginning. Since the project is huge my main target > would be to bring the assumptions upfront so more work would be done in > this field. Also, I won't stop working after GSoC. I will complete whatever > I would start. > >> > >> Thank You, > >> Shubham Kumar Jha > >> @ShubhamKJha > > > > -- > > 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] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > Visit this group at https://groups.google.com/group/sympy. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/176c7a47-b700-480d-b0a5-cf316af7edf7%40googlegroups.com. > > > > 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/fb7c0d68-2b4f-4813-abda-8a6e1b9969e4%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
