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.

Reply via email to